callumalpass_tasknotes/docs/HTTP_API.md

593 lines
13 KiB
Markdown
Raw Normal View History

feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
# TaskNotes HTTP API
The TaskNotes HTTP API provides local HTTP access to tasks, time tracking, pomodoro, calendars, webhooks, and NLP parsing.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
## Availability
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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]`
- Not available on mobile
Enable it in `Settings -> TaskNotes -> Integrations -> HTTP API`.
## Base URL
`http://localhost:{PORT}`
Default port is `8080`.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
## Authentication
Authentication is optional.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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.
Example:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/health
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```
## Response Format
Success:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```json
{
"success": true,
"data": {}
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
}
```
Error:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```json
{
"success": false,
"error": "Error message"
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
}
```
## Endpoint Index
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### System
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `GET /api/health`
- `GET /api/docs`
- `GET /api/docs/ui`
- `POST /api/nlp/parse`
- `POST /api/nlp/create`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### Tasks
- `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`
- `POST /api/tasks/:id/materialize-occurrence`
- `POST /api/tasks/query`
- `GET /api/filter-options`
- `GET /api/stats`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### Bases
- `POST /api/bases/default-files/update`
### Time Tracking
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### Pomodoro
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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`
### Calendars
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `GET /api/calendars`
- `GET /api/calendars/google`
- `GET /api/calendars/microsoft`
- `GET /api/calendars/subscriptions`
- `GET /api/calendars/events`
### Webhooks
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `POST /api/webhooks`
- `GET /api/webhooks`
- `DELETE /api/webhooks/:id`
- `GET /api/webhooks/deliveries`
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
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```
## Tasks
### `GET /api/tasks`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Basic task listing with pagination only.
Query params:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `limit` (default `50`, max `200`)
- `offset` (default `0`)
Important:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
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`.
- Use `POST /api/tasks/query` for filtering.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Example:
```bash
curl "http://localhost:8080/api/tasks?limit=25&offset=0"
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```
Response fields:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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.
### `POST /api/tasks`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Create one task.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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
- `title`
Common optional fields:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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
```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
```
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
### `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
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
- `: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
```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
```
### `PUT /api/tasks/:id`
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`.
```bash
curl -X PUT "http://localhost:8080/api/tasks/TaskNotes%2FTasks%2FReview%20docs.md" \
-H "Content-Type: application/json" \
-d '{"status":"in-progress"}'
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +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
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
### `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
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
### `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
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
### `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
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
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
- 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
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`)
### `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
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
- `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
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
- `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
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
{
"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>"`.
Response:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `data.tasks`
- `data.total`
- `data.filtered`
- `data.vault`
### `GET /api/filter-options`
Returns filter options for UI builders.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### `GET /api/stats`
Returns summary counts:
- `total`, `completed`, `active`, `overdue`, `archived`, `withTimeTracking`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
## Bases
### `POST /api/bases/default-files/update`
Overwrite the configured default TaskNotes `.base` files with templates generated from the current TaskNotes settings. This is the same write operation as **Settings -> TaskNotes -> Views & base files -> Update files** and replaces manual edits in those configured default files.
```bash
curl -X POST http://localhost:8080/api/bases/default-files/update
```
Response fields:
- `data.created`: default files created because they were missing
- `data.updated`: existing default files overwritten with current templates
- `data.skipped`: configured default files skipped
## Time Tracking
### `POST /api/tasks/:id/time/start`
Starts a new active time entry for that task.
### `POST /api/tasks/:id/time/start-with-description`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Starts time tracking and writes `description` on the new active entry.
Request body:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
```json
{
"description": "Implementation"
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
}
```
### `POST /api/tasks/:id/time/stop`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Stops active time entry for that task.
### `GET /api/tasks/:id/time`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Returns per-task time summary and entries.
### `GET /api/time/active`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Returns currently active sessions across tasks.
Important:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- Multiple active sessions can exist across different tasks.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### `GET /api/time/summary`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Returns aggregate time summary.
Query params:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `period` (for example `today`, `week`, `month`, `all`)
- `from` (ISO date)
- `to` (ISO date)
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Example:
2025-09-23 05:58:43 +00:00
```bash
curl "http://localhost:8080/api/time/summary?period=week"
2025-09-23 05:58:43 +00:00
```
## Pomodoro
2025-09-23 05:58:43 +00:00
### `POST /api/pomodoro/start`
2025-09-23 05:58:43 +00:00
Starts a session.
2025-09-23 05:58:43 +00:00
Optional request fields:
2025-09-23 05:58:43 +00:00
- `taskId` (URL path of task)
- `duration` (number)
2025-09-23 05:58:43 +00:00
### `POST /api/pomodoro/stop`
2025-09-23 05:58:43 +00:00
Stops and resets current session.
2025-09-23 05:58:43 +00:00
### `POST /api/pomodoro/pause`
Pauses running session.
### `POST /api/pomodoro/resume`
Resumes paused session.
### `GET /api/pomodoro/status`
Returns current state plus computed totals (`totalPomodoros`, `currentStreak`, `totalMinutesToday`).
### `GET /api/pomodoro/sessions`
Returns history.
Query params:
- `limit`
- `date` (`YYYY-MM-DD`)
### `GET /api/pomodoro/stats`
Returns stats for today or provided date.
Query params:
- `date` (`YYYY-MM-DD`)
## Calendars
### `GET /api/calendars`
Returns provider connectivity overview and subscription counts.
### `GET /api/calendars/google`
Returns Google provider details.
- If disconnected, returns `{ "connected": false }`.
### `GET /api/calendars/microsoft`
Returns Microsoft provider details.
- If disconnected, returns `{ "connected": false }`.
### `GET /api/calendars/subscriptions`
Returns ICS subscriptions with runtime fields such as `lastFetched` and `lastError`.
### `GET /api/calendars/events`
Returns merged event list from connected providers and ICS subscriptions.
Query params:
- `start` (ISO date/datetime)
- `end` (ISO date/datetime)
Response includes:
- `events`
- `total`
- `sources` (counts by provider)
## Webhooks
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### `POST /api/webhooks`
Registers webhook.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Required fields:
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
- `url`
- `events` (non-empty array)
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Optional fields:
- `id`
- `secret`
- `active`
- `transformFile`
- `corsHeaders`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### `GET /api/webhooks`
Lists registered webhooks. Stored secrets are not returned.
### `DELETE /api/webhooks/:id`
Deletes webhook.
### `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
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
## 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
### `GET /api/docs`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Returns OpenAPI JSON generated from registered controllers.
### `GET /api/docs/ui`
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Returns Swagger UI.
## Errors
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
Common status codes:
- `400` invalid request or invalid state
- `401` missing/invalid bearer token (when auth token is configured)
- `404` missing task/webhook/resource
- `500` internal error
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
## Security Notes
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.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
## Troubleshooting
### API unavailable
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.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### `401 Authentication required`
1. Check token value.
2. Check `Bearer ` prefix.
3. Remove whitespace around token.
feat(api): add HTTP API service for external integrations ## New Features - **HTTP REST API server** with comprehensive task management endpoints - **Mobile-compatible implementation** using Node.js http module with Platform checks - **Bearer token authentication** support for secure API access - **CORS enabled** for browser extension integration - **Task creation defaults** applied automatically (scheduled date, contexts, etc.) ## API Endpoints - `GET /api/health` - API health check - `GET /api/tasks` - List tasks with filtering and pagination - `POST /api/tasks` - Create new tasks with full TaskNotes integration - `PUT /api/tasks/{id}` - Update existing tasks - `DELETE /api/tasks/{id}` - Delete tasks - `POST /api/tasks/{id}/time/start|stop` - Time tracking - `GET /api/stats` - Task statistics - `GET /api/filter-options` - Available filter options ## Settings Integration - **Dedicated HTTP API tab** in settings (hidden on mobile) - **Configurable port** and authentication token - **Settings migration** preserves user data during updates - **Desktop-only activation** with proper conditional loading ## Technical Implementation - **Mobile-safe imports** using dynamic imports and Platform.isMobile checks - **Express.js alternative** using Node.js built-in http module - **Full CRUD operations** with proper error handling and validation - **Task creation defaults** integration with existing settings - **Comprehensive API documentation** with usage examples ## Browser Integration Ready - **CORS configured** for localhost browser extension access - **Proper field mapping** (notes → details) for API compatibility - **Authentication header** support for secure requests Enables external tools and browser extensions to integrate with TaskNotes while maintaining full mobile compatibility and user data safety.
2025-08-12 01:30:06 +00:00
### Unexpected task list behavior
If you pass filters to `GET /api/tasks`, the endpoint returns `400` by design. Use `POST /api/tasks/query`.