# Portal Self-Service Backend API ## Docs - [Create Announcement](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/create.md): Create a new announcement (Admin only) - [Deactivate Announcement](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/deactivate.md): Deactivate an announcement to hide it from users (Admin only) - [Get Active Announcements](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/get-active.md): Retrieve a list of active announcements for the main feed - [Get All Announcements (Admin)](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/get-all-admin.md): Retrieve all announcements including inactive and draft announcements (Admin only) - [Get Announcement by ID](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/get-by-id.md): Retrieve a specific active announcement by its unique identifier - [Update Announcement](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/announcements/update.md): Update an existing announcement (Admin only) - [Authentication](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/authentication.md): Learn how to authenticate with the Portal Self-Service Backend API using Azure AD JWT tokens - [Request Distribution](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/dashboard/distribution.md): Get request distribution statistics by type and status - [Dashboard KPIs](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/dashboard/kpis.md): Retrieve key performance indicators for admin dashboard or specific employee - [Request Trends](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/dashboard/trends.md): Get historical request trends over time - [Vacation Statistics API](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/dashboard/vacation-stats.md): Admin endpoints for vacation analytics and reporting - [Documents API](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/documents/overview.md): Manage company documents and documentation resources - [Get Employee by ID](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/employees/get-by-id.md): Retrieve a specific employee's profile by their ID (Admin only) - [Get Current User Profile](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/employees/get-profile.md): Retrieve the authenticated user's employee profile with clinic, role, vacation, and request statistics - [Search Employees](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/employees/search.md): Search for active employees by name or ID (Admin only) - [FAQ API](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/faq/overview.md): Manage frequently asked questions and answers - [Notifications API](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/notifications/overview.md): Manage user notifications and read status - [Approve and Reject Requests](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/approve-reject.md): Admin endpoints to approve or reject employee requests - [Admin Calendar View](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/calendar.md): Retrieve approved requests in calendar event format for administrators - [Create Request](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/create-request.md): Create a general request for absence, permission, or remote work - [Get Request by ID](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/get-by-id.md): Retrieve detailed information about a specific request - [Get Pending Requests](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/get-pending.md): Retrieve all pending requests awaiting approval (Admin only) - [Get Requests](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/get-requests.md): Retrieve requests with pagination, filtering, and role-based access control - [Requests API Overview](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/overview.md): Manage employee requests including vacation, profile updates, absences, and permissions - [Request Profile Update](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/profile-update.md): Request changes to profile information (phone, address, or profile image) - [Create Vacation Request](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/requests/vacation-request.md): Create a vacation request with automatic balance validation - [File Upload Endpoints](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api/uploads/overview.md): Upload files for requests, announcements, and documents - [Architecture](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/architecture.md): Understanding the Portal Self-Service Backend API architecture and design patterns - [Azure AD Setup](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/auth/azure-ad-setup.md): Configure Azure Active Directory authentication for the Portal Self-Service Backend API - [JWT Tokens](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/auth/jwt-tokens.md): Understanding JWT token structure, claims, and verification in the Portal Self-Service Backend API - [Roles & Permissions](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/auth/roles-permissions.md): Role-based access control (RBAC) implementation in the Portal Self-Service Backend API - [File Uploads](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/concepts/file-uploads.md): Handling file uploads with Multer middleware for requests and documents - [Notifications System](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/concepts/notifications.md): Real-time notification delivery using EventEmitter and Socket.io - [Request Workflow](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/concepts/request-workflow.md): Understanding the solicitud (request) lifecycle and approval process - [WebSocket Integration](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/concepts/websockets.md): Real-time communication using Socket.io with Azure AD authentication - [Database Setup](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/guides/database-setup.md): Configure MSSQL Server database connection for Portal Self-Service Backend - [Deployment Guide](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/guides/deployment.md): Deploy Portal Self-Service Backend API to production - [Environment Configuration](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/guides/environment-config.md): Configure environment variables for Portal Self-Service Backend API - [Portal Self-Service Backend API](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/index.md): Enterprise employee self-service portal backend with Azure AD authentication, request management, and real-time notifications - [Quickstart](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/quickstart.md): Get the Portal Self-Service Backend API running locally in minutes ## OpenAPI Specs - [openapi](https://mintlify.wiki/HesllerSanchez/portal-selfservice-backend/api-reference/openapi.json)