# 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