{"openapi":"3.1.0","info":{"title":"Miru API","version":"3.0.0","description":"Programmatic access to Miru time tracking, invoicing, clients, projects, expenses, payments, reports, CLI capabilities, and MCP support."},"externalDocs":{"description":"Miru API, MCP, CLI, and AI-agent guide","url":"https://miru.so/ai-agents"},"servers":[{"url":"https://app.miru.so"}],"security":[{"bearerAuth":[]}],"paths":{"/api/v1/users/_me":{"get":{"summary":"Get current authenticated user","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Current user and workspace context"},"401":{"description":"Authentication required"}}}},"/api/v1/clients":{"get":{"summary":"List clients","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Clients visible to the authenticated user"}}},"post":{"summary":"Create a client","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Client created"},"422":{"description":"Validation failed"}}}},"/api/v1/projects":{"get":{"summary":"List projects","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Projects visible to the authenticated user"}}}},"/api/v1/timesheet_entry":{"get":{"summary":"List time entries","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Time entries visible to the authenticated user"}}},"post":{"summary":"Create a time entry","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Time entry created"},"422":{"description":"Validation failed"}}}},"/api/v1/invoices":{"get":{"summary":"List invoices","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Invoices visible to the authenticated user"}}},"post":{"summary":"Create an invoice","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Invoice created"},"422":{"description":"Validation failed"}}}},"/api/v1/expenses":{"get":{"summary":"List expenses","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Expenses visible to the authenticated user"}}}},"/api/v1/reports/time_entries":{"get":{"summary":"Report on time entries","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Time-entry report data"}}}},"/mcp":{"post":{"summary":"Miru MCP streamable HTTP endpoint","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"MCP response"},"401":{"description":"Authentication required"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}