{"success":true,"message":"API de Gestión de Citas - SaaS Multi-tenant","version":"1.0.0","endpoints":{"auth":{"register":"POST /api/auth/register","login":"POST /api/auth/login"},"subscription":{"plans":"GET /api/subscription/plans","current":"GET /api/subscription/current","usage":"GET /api/subscription/usage","checkout":"POST /api/subscription/checkout","portal":"POST /api/subscription/portal","cancel":"POST /api/subscription/cancel","resume":"POST /api/subscription/resume","payments":"GET /api/subscription/payments","invoices":"GET /api/subscription/invoices"},"users":{"getAll":"GET /api/users","getProfile":"GET /api/users/profile","getById":"GET /api/users/:id","update":"PUT /api/users/:id","deactivate":"DELETE /api/users/:id"},"roles":{"getAll":"GET /api/roles","getById":"GET /api/roles/:id","create":"POST /api/roles (system-admin)","update":"PUT /api/roles/:id (system-admin)","delete":"DELETE /api/roles/:id (system-admin)","assign":"PATCH /api/roles/assign/:userId (admin, worker-admin)"},"systemAdmin":{"getAdmins":"GET /api/system-admin/admins","promote":"PATCH /api/system-admin/promote/:userId","revoke":"PATCH /api/system-admin/revoke/:userId","stats":"GET /api/system-admin/stats"},"workers":{"search":"GET /api/workers/search?email=&name=","getAll":"GET /api/workers?company_id=&is_active=","getByCompany":"GET /api/workers/company/:companyId","getById":"GET /api/workers/:id","create":"POST /api/workers","update":"PUT /api/workers/:id","assignToCompany":"POST /api/workers/:workerId/assign","unassignFromCompany":"DELETE /api/workers/:workerId/company/:companyId","reactivate":"PATCH /api/workers/:id/reactivate","delete":"DELETE /api/workers/:id"},"companies":{"getAll":"GET /api/companies","getById":"GET /api/companies/:id","create":"POST /api/companies","update":"PUT /api/companies/:id","delete":"DELETE /api/companies/:id","publicBooking":"GET /api/companies/public-booking","rotatePublicBooking":"PATCH /api/companies/public-booking/rotate","publicBookingSettings":"PATCH /api/companies/public-booking/settings"},"publicBooking":{"company":"GET /api/public/booking/:bookingToken/company","services":"GET /api/public/booking/:bookingToken/services","availability":"GET /api/public/booking/:bookingToken/availability?date=&slot_step=","appointments":"POST /api/public/booking/:bookingToken/appointments"},"services":{"getAll":"GET /api/services","getById":"GET /api/services/:id","create":"POST /api/services","update":"PUT /api/services/:id","deactivate":"PATCH /api/services/:id/deactivate","reactivate":"PATCH /api/services/:id/reactivate","delete":"DELETE /api/services/:id (admin, worker-admin)"},"clients":{"search":"GET /api/clients/search?email=&phone=","getByCompany":"GET /api/clients/company/:companyId","getAll":"GET /api/clients","getById":"GET /api/clients/:id","create":"POST /api/clients","associate":"POST /api/clients/:clientId/associate","update":"PUT /api/clients/:id","dissociate":"DELETE /api/clients/:clientId/company/:companyId","delete":"DELETE /api/clients/:id"},"appointments":{"getAll":"GET /api/appointments","getStats":"GET /api/appointments/stats","getByCompany":"GET /api/appointments/company/:companyId","getByClient":"GET /api/appointments/client/:clientId","getByDate":"GET /api/appointments/date/:date","getById":"GET /api/appointments/:id","create":"POST /api/appointments","update":"PUT /api/appointments/:id","updateStatus":"PATCH /api/appointments/:id/status","delete":"DELETE /api/appointments/:id"},"webhooks":{"stripe":"POST /api/webhooks/stripe"},"media":{"uploadUrl":"POST   /api/media/upload-url","failUpload":"POST   /api/media/:uuid/fail","downloadUrl":"GET    /api/media/:uuid/download-url","delete":"DELETE /api/media/:uuid"}},"plans":{"free":{"price":"$0 MXN","companies":1,"services":5,"clients":10,"workers":0,"appointments":"50/mes","storage":"500 MB"},"basic":{"price":"$299 MXN/mes","companies":3,"services":20,"clients":100,"workers":5,"appointments":"200/mes","storage":"10 GB"},"pro":{"price":"$599 MXN/mes","companies":10,"services":100,"clients":500,"workers":20,"appointments":"1000/mes","storage":"25 GB"},"annual":{"price":"$5,990 MXN/año (ahorro 17%)","companies":10,"services":100,"clients":500,"workers":20,"appointments":"1000/mes","storage":"337 GB"}},"roles":{"read":"Solo lectura","write":"Lectura y escritura (no puede eliminar)","worker-admin":"Gestión de workers y asignación de roles","admin":"Control total del sistema del tenant"}}