Files
nick-tracker/docs/interfaces.md
2026-01-11 07:51:30 +00:00

63 lines
3.2 KiB
Markdown

# Interface Contracts
## REST API
**Type**: rest_endpoints
### Endpoints
| Method | Path | Description |
|--------|------|-------------|
| POST | /api/v1/auth/register | Register new user account |
| POST | /api/v1/auth/login | Authenticate user and return JWT |
| POST | /api/v1/auth/refresh | Refresh JWT token |
| GET | /api/v1/inbox | Get all unprocessed inbox items |
| POST | /api/v1/inbox | Create inbox item via quick capture |
| POST | /api/v1/inbox/:id/process | Process inbox item into task/project/etc |
| DELETE | /api/v1/inbox/:id | Delete/trash inbox item |
| GET | /api/v1/tasks | Get tasks with filtering (context, status, domain) |
| POST | /api/v1/tasks | Create new task |
| PATCH | /api/v1/tasks/:id | Update task details, priority, or status |
| DELETE | /api/v1/tasks/:id | Delete task |
| POST | /api/v1/tasks/:id/schedule | Manually schedule or reschedule task |
| POST | /api/v1/tasks/:id/lock | Lock task to fixed time slot |
| POST | /api/v1/tasks/:id/unlock | Unlock task for auto-scheduling |
| GET | /api/v1/tasks/waiting-for | Get all Waiting For items |
| GET | /api/v1/tasks/someday-maybe | Get Someday/Maybe list |
| GET | /api/v1/tasks/tickler | Get future Tickler items |
| GET | /api/v1/projects | Get all projects |
| POST | /api/v1/projects | Create new project |
| PATCH | /api/v1/projects/:id | Update project details or status |
| DELETE | /api/v1/projects/:id | Delete project |
| GET | /api/v1/projects/:id/tasks | Get all tasks for a project |
| POST | /api/v1/projects/:id/reference | Add reference material to project |
| GET | /api/v1/calendar/events | Get calendar events for date range |
| GET | /api/v1/schedule | Get scheduled tasks for date range |
| POST | /api/v1/schedule/regenerate | Trigger full schedule regeneration |
| GET | /api/v1/weekly-review | Get Weekly Review data |
| POST | /api/v1/weekly-review/complete | Mark Weekly Review as completed |
| GET | /api/v1/connections/calendar | Get calendar connections |
| POST | /api/v1/connections/calendar | Create calendar connection |
| PATCH | /api/v1/connections/calendar/:id | Update calendar connection |
| DELETE | /api/v1/connections/calendar/:id | Remove calendar connection |
| POST | /api/v1/connections/calendar/:id/sync | Trigger manual calendar sync |
| GET | /api/v1/connections/connectwise | Get ConnectWise connection status |
| POST | /api/v1/connections/connectwise | Create ConnectWise connection |
| PATCH | /api/v1/connections/connectwise/:id | Update ConnectWise connection |
| DELETE | /api/v1/connections/connectwise/:id | Remove ConnectWise connection |
| POST | /api/v1/connections/connectwise/:id/sync | Trigger manual ConnectWise sync |
| GET | /api/v1/connections/email | Get email connection status |
| POST | /api/v1/connections/email | Create email connection |
| PATCH | /api/v1/connections/email/:id | Update email connection |
| DELETE | /api/v1/connections/email/:id | Remove email connection |
| GET | /api/v1/notifications | Get user notifications |
| PATCH | /api/v1/notifications/:id/read | Mark notification as read |
| GET | /api/v1/user/preferences | Get user preferences and settings |
| PATCH | /api/v1/user/preferences | Update user preferences |
## WebSocket Events
**Type**: websocket_events