2025-08-12 01:30:06 +00:00
# TaskNotes HTTP API
2026-02-21 02:41:32 +00:00
The TaskNotes HTTP API provides local HTTP access to tasks, time tracking, pomodoro, calendars, webhooks, and NLP parsing.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
## Availability
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- Desktop only
- Disabled by default
- Started when Obsidian starts and TaskNotes API is enabled
2026-05-22 00:02:32 +00:00
- Bound to loopback (`127.0.0.1`) only, not the local network
- Browser CORS requests are allowed only from loopback origins such as
`localhost` , `127.0.0.1` , and `[::1]`
2026-02-21 02:41:32 +00:00
- Not available on mobile
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Enable it in `Settings -> TaskNotes -> Integrations -> HTTP API` .
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
## Base URL
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
`http://localhost:{PORT}`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Default port is `8080` .
2025-08-12 01:30:06 +00:00
## Authentication
2026-02-21 02:41:32 +00:00
Authentication is optional.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- If `apiAuthToken` is empty, all API requests are accepted.
- If `apiAuthToken` is set, send `Authorization: Bearer <token>` .
2026-05-22 00:02:32 +00:00
- Set a token for any workflow where local browser pages, scripts, or other
desktop apps are not fully trusted.
2026-02-08 01:33:29 +00:00
2026-02-21 02:41:32 +00:00
Example:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/health
2025-08-12 01:30:06 +00:00
```
## Response Format
2026-02-21 02:41:32 +00:00
Success:
2025-08-12 01:30:06 +00:00
```json
{
"success": true,
2026-02-21 02:41:32 +00:00
"data": {}
2025-08-12 01:30:06 +00:00
}
```
2026-02-21 02:41:32 +00:00
Error:
2025-08-12 01:30:06 +00:00
```json
{
"success": false,
2026-02-21 02:41:32 +00:00
"error": "Error message"
2025-08-12 01:30:06 +00:00
}
```
2026-02-21 02:41:32 +00:00
## Endpoint Index
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### System
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `GET /api/health`
- `GET /api/docs`
- `GET /api/docs/ui`
- `POST /api/nlp/parse`
- `POST /api/nlp/create`
2025-08-12 01:30:06 +00:00
### Tasks
2026-02-21 02:41:32 +00:00
- `GET /api/tasks`
- `POST /api/tasks`
- `GET /api/tasks/:id`
- `PUT /api/tasks/:id`
- `DELETE /api/tasks/:id`
- `POST /api/tasks/:id/toggle-status`
- `POST /api/tasks/:id/archive`
- `POST /api/tasks/:id/complete-instance`
2026-06-02 19:58:01 +00:00
- `POST /api/tasks/:id/materialize-occurrence`
2026-02-21 02:41:32 +00:00
- `POST /api/tasks/query`
- `GET /api/filter-options`
- `GET /api/stats`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### Time Tracking
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `POST /api/tasks/:id/time/start`
- `POST /api/tasks/:id/time/start-with-description`
- `POST /api/tasks/:id/time/stop`
- `GET /api/tasks/:id/time`
- `GET /api/time/active`
- `GET /api/time/summary`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### Pomodoro
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `POST /api/pomodoro/start`
- `POST /api/pomodoro/stop`
- `POST /api/pomodoro/pause`
- `POST /api/pomodoro/resume`
- `GET /api/pomodoro/status`
- `GET /api/pomodoro/sessions`
- `GET /api/pomodoro/stats`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### Calendars
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `GET /api/calendars`
- `GET /api/calendars/google`
- `GET /api/calendars/microsoft`
- `GET /api/calendars/subscriptions`
- `GET /api/calendars/events`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### Webhooks
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `POST /api/webhooks`
- `GET /api/webhooks`
- `DELETE /api/webhooks/:id`
- `GET /api/webhooks/deliveries`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
See `docs/webhooks.md` for event and transform details.
## Route Details
## Health
### `GET /api/health`
Returns service state plus vault metadata.
```bash
curl http://localhost:8080/api/health
2025-08-12 01:30:06 +00:00
```
2026-02-21 02:41:32 +00:00
## Tasks
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/tasks`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Basic task listing with pagination only.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Query params:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `limit` (default `50` , max `200` )
- `offset` (default `0` )
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Important:
2025-08-12 01:30:06 +00:00
2026-05-17 04:51:18 +00:00
- Filtering params such as `status` , `priority` , `tag` , `project` , `context` , `due_before` , `due_after` , `overdue` , `completed` , `archived` , and `sort` are rejected on this endpoint with HTTP `400` .
2026-02-21 02:41:32 +00:00
- Use `POST /api/tasks/query` for filtering.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Example:
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
```bash
curl "http://localhost:8080/api/tasks?limit=25& offset=0"
2025-08-12 01:30:06 +00:00
```
2026-02-21 02:41:32 +00:00
Response fields:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `data.tasks`
- `data.pagination` with `total` , `offset` , `limit` , `hasMore`
- `data.vault`
- `data.note`
2026-05-17 05:36:15 +00:00
- Task objects include configured TaskNotes user fields in `customProperties` , keyed by their frontmatter property key.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/tasks`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Create one task.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Required:
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
- `title`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Common optional fields:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `details` , `status` , `priority` , `due` , `scheduled`
- `tags` , `contexts` , `projects`
2026-05-16 16:29:35 +00:00
- `recurrence` , `recurrence_anchor` , `timeEstimate` , `reminders`
- `blockedBy`
`blockedBy` accepts an array of dependency objects:
- `uid` : link or identifier for the blocking task, such as `[[Project setup]]`
- `reltype` : one of `FINISHTOSTART` , `FINISHTOFINISH` , `STARTTOSTART` , or `STARTTOFINISH`
- `gap` : optional ISO 8601 duration, such as `P1D`
`blocking` is a read-only reverse relationship in API responses. To make a task block existing tasks, update those existing tasks' `blockedBy` fields.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
```bash
curl -X POST http://localhost:8080/api/tasks \
-H "Content-Type: application/json" \
2026-05-16 16:29:35 +00:00
-d '{"title":"Review docs","priority":"high","blockedBy":[{"uid":"[[Draft docs]]","reltype":"FINISHTOSTART"}]}'
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
```
2026-02-21 02:41:32 +00:00
Returns HTTP `201` with created task data.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/tasks/:id`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Get one task by path id.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
- `:id` must be URL-encoded task path.
2026-05-17 05:36:15 +00:00
- Single-task reads include the task body in `details` .
- Configured TaskNotes user fields are returned in `customProperties` , keyed by their frontmatter property key.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
```bash
curl "http://localhost:8080/api/tasks/TaskNotes%2FTasks%2FReview%20docs.md"
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
```
2026-02-21 02:41:32 +00:00
### `PUT /api/tasks/:id`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Update task with partial payload.
2026-05-17 05:36:15 +00:00
Configured TaskNotes user fields can be updated either by their frontmatter property key or via `customProperties` .
2026-02-21 02:41:32 +00:00
```bash
curl -X PUT "http://localhost:8080/api/tasks/TaskNotes%2FTasks%2FReview%20docs.md" \
-H "Content-Type: application/json" \
-d '{"status":"in-progress"}'
2025-08-12 01:30:06 +00:00
```
2026-02-21 02:41:32 +00:00
### `DELETE /api/tasks/:id`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Delete task file.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/:id/toggle-status`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Toggle task status via configured workflow.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/:id/archive`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Toggle archive state.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/:id/complete-instance`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Complete recurring instance.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Request body:
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
- Optional `date` (ISO string). If omitted, uses current date context.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-06-02 19:58:01 +00:00
When the recurring parent uses materialized occurrence notes, this endpoint completes the matching occurrence note if one exists. If the parent is set to **Create next after completion** and no matching occurrence note exists yet, TaskNotes creates and completes that occurrence note instead of only recording a virtual `complete_instances` entry.
### `POST /api/tasks/:id/materialize-occurrence`
Create or return a materialized occurrence note for a recurring task date. This endpoint is idempotent for the same parent and date.
Request body:
- Required `date` (ISO date string, for example `2026-06-01` )
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/query`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Advanced filtering.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-05-17 04:56:38 +00:00
Request body is a `FilterQuery` object. `FilterQuery` is still the supported advanced query shape for the HTTP API.
The root object is a group with:
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
- `type: "group"`
- `id`
- `conjunction: "and" | "or"`
- `children` (conditions or groups)
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Optional top-level query options:
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
- `sortKey` , `sortDirection`
- `groupKey` , `subgroupKey`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Example:
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
```json
{
2026-02-21 02:41:32 +00:00
"type": "group",
"id": "root",
"conjunction": "and",
"children": [
{
"type": "condition",
"id": "c1",
"property": "status",
"operator": "is",
"value": "open"
}
],
"sortKey": "due",
"sortDirection": "asc"
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
}
```
2026-05-17 04:56:38 +00:00
Filter tasks by context:
```json
{
"type": "group",
"id": "root",
"conjunction": "and",
"children": [
{
"type": "condition",
"id": "context",
"property": "contexts",
"operator": "contains",
"value": "@office"
}
],
"sortKey": "due",
"sortDirection": "asc"
}
```
Filter active, unarchived tasks, similar to the default available-task view:
```json
{
"type": "group",
"id": "root",
"conjunction": "and",
"children": [
{
"type": "condition",
"id": "not-archived",
"property": "archived",
"operator": "is-not-checked"
},
{
"type": "condition",
"id": "not-completed",
"property": "status.isCompleted",
"operator": "is-not-checked"
}
],
"sortKey": "due",
"sortDirection": "asc",
"groupKey": "none"
}
```
Condition fields:
- `type` : `"condition"`
- `id` : any stable string for your client
2026-05-18 03:50:26 +00:00
- `property` : a task property, such as `title` , `status` , `priority` , `tags` , `contexts` , `projects` , `blockedBy` , `blocking` , `due` , `scheduled` , `completedDate` , `dateCreated` , `dateModified` , `archived` , `hasSubtasks` , `dependencies.isBlocked` , `dependencies.isBlocking` , `timeEstimate` , `recurrence` , or `status.isCompleted`
2026-05-17 04:56:38 +00:00
- `operator` : one of `is` , `is-not` , `contains` , `does-not-contain` , `is-before` , `is-after` , `is-on-or-before` , `is-on-or-after` , `is-empty` , `is-not-empty` , `is-checked` , `is-not-checked` , `is-greater-than` , `is-less-than` , `is-greater-than-or-equal` , or `is-less-than-or-equal`
- `value` : required for comparison operators, omitted for empty/checked operators
For user-defined fields, use `property: "user:<fieldId>"` .
2026-02-21 02:41:32 +00:00
Response:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `data.tasks`
- `data.total`
- `data.filtered`
- `data.vault`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/filter-options`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Returns filter options for UI builders.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/stats`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Returns summary counts:
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
- `total` , `completed` , `active` , `overdue` , `archived` , `withTimeTracking`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
## Time Tracking
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/:id/time/start`
Starts a new active time entry for that task.
### `POST /api/tasks/:id/time/start-with-description`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Starts time tracking and writes `description` on the new active entry.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Request body:
2025-08-13 03:20:10 +00:00
2025-08-12 01:30:06 +00:00
```json
{
2026-02-21 02:41:32 +00:00
"description": "Implementation"
2025-08-12 01:30:06 +00:00
}
```
2026-02-21 02:41:32 +00:00
### `POST /api/tasks/:id/time/stop`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Stops active time entry for that task.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/tasks/:id/time`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Returns per-task time summary and entries.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/time/active`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Returns currently active sessions across tasks.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Important:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- Multiple active sessions can exist across different tasks.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/time/summary`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Returns aggregate time summary.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Query params:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `period` (for example `today` , `week` , `month` , `all` )
- `from` (ISO date)
- `to` (ISO date)
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Example:
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
```bash
curl "http://localhost:8080/api/time/summary?period=week"
2025-09-23 05:58:43 +00:00
```
2026-02-21 02:41:32 +00:00
## Pomodoro
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/pomodoro/start`
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
Starts a session.
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
Optional request fields:
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
- `taskId` (URL path of task)
- `duration` (number)
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/pomodoro/stop`
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
Stops and resets current session.
2025-09-23 05:58:43 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/pomodoro/pause`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Pauses running session.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/pomodoro/resume`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Resumes paused session.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/pomodoro/status`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns current state plus computed totals (`totalPomodoros`, `currentStreak` , `totalMinutesToday` ).
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/pomodoro/sessions`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns history.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Query params:
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- `limit`
- `date` (`YYYY-MM-DD`)
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/pomodoro/stats`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns stats for today or provided date.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Query params:
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- `date` (`YYYY-MM-DD`)
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
## Calendars
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/calendars`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns provider connectivity overview and subscription counts.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/calendars/google`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns Google provider details.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- If disconnected, returns `{ "connected": false }` .
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/calendars/microsoft`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns Microsoft provider details.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- If disconnected, returns `{ "connected": false }` .
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/calendars/subscriptions`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns ICS subscriptions with runtime fields such as `lastFetched` and `lastError` .
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/calendars/events`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Returns merged event list from connected providers and ICS subscriptions.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Query params:
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- `start` (ISO date/datetime)
- `end` (ISO date/datetime)
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Response includes:
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
- `events`
- `total`
- `sources` (counts by provider)
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
## Webhooks
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### `POST /api/webhooks`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
Registers webhook.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Required fields:
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
- `url`
- `events` (non-empty array)
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Optional fields:
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
- `id`
- `secret`
- `active`
- `transformFile`
- `corsHeaders`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/webhooks`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Lists registered webhooks. Stored secrets are not returned.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `DELETE /api/webhooks/:id`
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
Deletes webhook.
2025-08-13 12:12:14 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/webhooks/deliveries`
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
Returns last 100 delivery records.
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
## OpenAPI Docs
feat: add comprehensive time tracking API with analytics and query capabilities
## New Time Tracking Query Endpoints
- GET /api/time/active - Get all currently active time tracking sessions
- GET /api/time/summary - Time tracking statistics with flexible date filtering
- GET /api/tasks/{id}/time - Comprehensive time data for specific tasks
- POST /api/tasks/{id}/time/start-with-description - Enhanced time tracking with descriptions
## Advanced Time Analytics
- Daily, weekly, monthly, and custom date range summaries
- Top tasks, projects, and tags by time spent
- Active session monitoring with real-time elapsed time
- Task-specific time histories and session statistics
- Project and tag-based time aggregation
## Key Features
- Flexible date filtering (today, week, month, all, custom ranges)
- Real-time active session tracking across all tasks
- Comprehensive time entry details with descriptions
- Session statistics and productivity metrics
- Top 10 breakdowns by tasks, projects, and tags
## OpenAPI Documentation
- Complete schemas for TimeEntry, ActiveTimeSession, TimeSummary, TaskTimeData
- Enhanced OpenAPI decorators for all time tracking endpoints
- Professional API documentation with detailed examples
- Interactive Swagger UI integration
## Documentation Updates
- Comprehensive time tracking API documentation
- JavaScript TimeTracker class with full functionality
- Python TimeAnalytics class for reporting and dashboards
- Real-world integration examples and use cases
- Complete curl examples and response formats
## API Design
- RESTful endpoint structure following existing patterns
- Proper error handling with meaningful HTTP status codes
- Backward compatibility with existing time tracking endpoints
- Consistent response format across all endpoints
- Query parameter support for flexible data filtering
Transforms TaskNotes into a comprehensive time tracking solution with enterprise-grade analytics and reporting capabilities.
2025-08-14 23:09:54 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/docs`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Returns OpenAPI JSON generated from registered controllers.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
### `GET /api/docs/ui`
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Returns Swagger UI.
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
## Errors
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
Common status codes:
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
- `400` invalid request or invalid state
- `401` missing/invalid bearer token (when auth token is configured)
- `404` missing task/webhook/resource
- `500` internal error
2025-08-12 01:30:06 +00:00
## Security Notes
2026-02-21 02:41:32 +00:00
Current behavior:
- CORS allows all origins (`*`).
- Transport is HTTP only (no TLS).
- Node server is started with `server.listen(port)` and does not explicitly bind to `127.0.0.1` .
Practical guidance:
- Set an auth token.
- Treat API port as sensitive and keep it firewalled.
- If you expose this port outside localhost, route through a trusted reverse proxy and TLS.
2025-08-12 01:30:06 +00:00
## Troubleshooting
2026-02-21 02:41:32 +00:00
### API unavailable
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
1. Confirm API is enabled in settings.
2. Confirm Obsidian is running.
3. Confirm selected port is free.
4. Reload plugin or restart Obsidian after changing API enable/port.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### `401 Authentication required`
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
1. Check token value.
2. Check `Bearer ` prefix.
3. Remove whitespace around token.
2025-08-12 01:30:06 +00:00
2026-02-21 02:41:32 +00:00
### Unexpected task list behavior
2025-08-13 03:20:10 +00:00
2026-02-21 02:41:32 +00:00
If you pass filters to `GET /api/tasks` , the endpoint returns `400` by design. Use `POST /api/tasks/query` .