{"name":"Invoice Billing API","version":"1.0.0","description":"REST API for Invoice Billing System with JWT Authentication","authentication":{"type":"Bearer Token (JWT)","header":"Authorization: Bearer <access_token>","note":"All routes except /auth/* require authentication"},"endpoints":{"auth":{"POST /auth/register":"Register new user","POST /auth/login":"Login and get tokens","POST /auth/logout":"Logout (revoke token) [Auth Required]","POST /auth/logout-all":"Logout from all devices [Auth Required]","POST /auth/refresh":"Refresh access token","POST /auth/forgot-password":"Request password reset","POST /auth/reset-password":"Reset password with token","POST /auth/change-password":"Change password [Auth Required]","GET /auth/profile":"Get current user profile [Auth Required]","PUT /auth/profile":"Update user profile [Auth Required]"},"dashboard":{"GET /dashboard/stats":"Get dashboard statistics","GET /dashboard/revenue-chart":"Get revenue chart data","GET /dashboard/invoice-status":"Get invoice status breakdown","GET /dashboard/overdue-invoices":"Get overdue invoices","GET /dashboard/upcoming-payments":"Get upcoming payments","GET /dashboard/recent-invoices":"Get recent invoices"},"clients":{"GET /clients":"List all clients","GET /clients/:id":"Get client by ID","POST /clients":"Create client [Admin/User]","PUT /clients/:id":"Update client [Admin/User]","DELETE /clients/:id":"Delete client [Admin]","DELETE /clients/bulk":"Bulk delete clients [Admin]"},"products":{"GET /products":"List all products","GET /products/:id":"Get product by ID","POST /products":"Create product [Admin/User]","PUT /products/:id":"Update product [Admin/User]","DELETE /products/:id":"Delete product [Admin]","DELETE /products/bulk":"Bulk delete products [Admin]"},"invoices":{"GET /invoices":"List all invoices","GET /invoices/:id":"Get invoice by ID","GET /invoices/:id/pdf":"Generate invoice PDF","POST /invoices":"Create invoice [Admin/User]","PUT /invoices/:id":"Update invoice [Admin/User]","PATCH /invoices/:id/status":"Update invoice status [Admin/User]","DELETE /invoices/:id":"Delete invoice [Admin]","DELETE /invoices/bulk":"Bulk delete invoices [Admin]"},"company":{"GET /company/settings":"Get company settings","PUT /company/settings":"Update company settings [Admin]","GET /company/logo":"Get company logo","POST /company/logo":"Upload company logo [Admin]","DELETE /company/logo":"Delete company logo [Admin]"}},"roles":{"admin":"Full access to all operations","user":"Can view all, create/update clients, products, invoices","viewer":"Read-only access"},"documentation":"See README.md for detailed API documentation"}