{"name":"Hourivo API","version":"1.0.0","description":"RESTful API for AI-powered workforce management, time tracking, screenshot monitoring, project profitability, and invoicing.","documentation":"/documentation","openapiSpec":"/openapi.json","health":"/api/v1/health","baseUrl":"/api/v1","authentication":{"type":"Bearer JWT","headers":["Authorization: Bearer <token>","x-organization-id: <org-uuid>"],"tokenExpiry":"7d"},"rateLimit":{"max":120,"window":"1 minute"},"resources":{"llmsTxt":"/llms.txt","aiPlugin":"/.well-known/ai-plugin.json","mcpManifest":"/.well-known/mcp","developerPortal":"/developers"},"endpoints":[{"path":"/auth/register","method":"POST","description":"Register new user","auth":false},{"path":"/auth/login","method":"POST","description":"Login","auth":false},{"path":"/auth/oauth","method":"POST","description":"Exchange Google/Supabase session for app JWT","auth":false},{"path":"/auth/methods","method":"GET","description":"Public auth methods (email OTP, Google)","auth":false},{"path":"/auth/send-otp","method":"POST","description":"Send email OTP","auth":false},{"path":"/auth/verify-otp","method":"POST","description":"Verify email OTP","auth":false},{"path":"/auth/legal","method":"GET","description":"Current Terms and Privacy version","auth":false},{"path":"/auth/me","method":"GET","description":"Current user profile","auth":true},{"path":"/auth/accept-invite","method":"POST","description":"Accept invite (requires acceptedTerms true)","auth":false},{"path":"/auth/accept-terms","method":"POST","description":"Accept current Terms and Privacy Policy","auth":true},{"path":"/projects","method":"GET","description":"List projects","auth":true},{"path":"/projects","method":"POST","description":"Create project","auth":true},{"path":"/time/entries","method":"GET","description":"List time entries","auth":true},{"path":"/time/manual","method":"POST","description":"Log manual time","auth":true},{"path":"/time/live-team","method":"GET","description":"Live team status","auth":true},{"path":"/time/weekly-digest","method":"POST","description":"Email this week hours digest","auth":true},{"path":"/screenshots","method":"GET","description":"List screenshots","auth":true},{"path":"/financials/summary","method":"GET","description":"Profitability summary","auth":true},{"path":"/financials/invoices","method":"GET","description":"List invoices","auth":true},{"path":"/ai/summary/daily","method":"POST","description":"Gemini daily work summary","auth":true},{"path":"/ai/overview","method":"GET","description":"Gemini org overview, skills, developer summary","auth":true},{"path":"/ai/work-day","method":"POST","description":"Reconstruct a person's work day from time, apps, screenshots","auth":true},{"path":"/ai/weekly-report","method":"GET","description":"Latest Friday weekly AI report","auth":true},{"path":"/ai/weekly-report","method":"POST","description":"Generate weekly AI report","auth":true},{"path":"/ai/weekly-report/download","method":"GET","description":"Download weekly AI report markdown","auth":true},{"path":"/ai/chat","method":"POST","description":"Gemini chat about projects, people, and dates","auth":true},{"path":"/notifications","method":"GET","description":"List notifications","auth":true},{"path":"/rbac","method":"GET","description":"List roles","auth":true},{"path":"/billing/subscription-status","method":"GET","description":"Subscription status","auth":true}]}