callumalpass_tasknotes/docs/HTTP_API.md

483 lines
8.5 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
- 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>`.
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/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
### 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
- Filtering params such as `status`, `priority`, `tag`, `project`, `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`
### `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`
- `recurrence`, `timeEstimate`
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" \
-d '{"title":"Review docs","priority":"high"}'
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.
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.
```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
### `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
Request body is a `FilterQuery` object. 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
}
```
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
## 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`.