Skip to main content

Endpoints API

Módulo Auth (/api/auth)

MétodoRutaDescripciónAuth
POST/api/auth/healthHealth check del servicioPúblico
POST/api/auth/registerRegistrar nuevo usuarioPúblico
POST/api/auth/loginIniciar sesión (username + password)Público
POST/api/auth/logoutCerrar sesiónPúblico
GET/api/auth/profilePerfil del usuario autenticadoJWT
GET/api/auth/my-permissionsPermisos del usuario autenticadoJWT
POST/api/auth/refresh-tokenRefrescar JWTPúblico
POST/api/auth/verify-tokenVerificar validez de tokenPúblico
POST/api/auth/change-passwordCambiar contraseñaJWT

Módulo Activities (/api/activities)

MétodoRutaDescripciónPermiso
POST/api/activitiesCrear actividad16
GET/api/activitiesListar activas (paginado, filtro por emoción)Bypass
GET/api/activities/allListar activas (paginado sin filtros)
GET/api/activities/:idObtener actividad por ID
PUT/api/activities/:idActualizar actividad16
DELETE/api/activities/:idSoft delete (isActive=false)16
GET/api/activities/daily/currentActividad del díaBypass
GET/api/activities/by-monthCompletaciones agrupadas por mes
GET/api/activities/count-all-activitiesConteo total de actividadesBypass
GET/api/activities/count-by-typeConteo por tipo (reto, evento_personal, etc.)Bypass
GET/api/activities/emotions/listIDs de emociones disponiblesBypass
GET/api/activities/user/:userIdActividades de un usuario (filtro por tipo)Bypass
POST/api/activities/:id/:userId/submitRegistrar respuesta de usuarioBypass

Módulo Emotions (/api/emotions)

MétodoRutaDescripciónPermiso
POST/api/emotionsCrear emoción8
GET/api/emotionsListar emociones (paginado)Bypass
GET/api/emotions/:idObtener emoción por ID
PUT/api/emotions/:idActualizar emoción8
DELETE/api/emotions/:idSoft delete8
GET/api/emotions/by-name/:nameBuscar por nombre
GET/api/emotions/distributionDistribución de respuestas por emoción
GET/api/emotions/evolutionEvolución temporal (últimos N días)

Módulo Courses (/api/courses)

MétodoRutaDescripciónPermiso
POST/api/coursesCrear curso10
GET/api/coursesListar cursos (filtros: companyId, status)Bypass
GET/api/courses/:idObtener curso por ID
PUT/api/courses/:idActualizar curso10
DELETE/api/courses/:idSoft delete10
GET/api/courses/listLista simple (selectores)
GET/api/courses/progressProgreso de cursos (%)
GET/api/courses/company/:companyIdCursos por institución

Módulo Participants (/api/participants)

MétodoRutaDescripciónPermiso
POST/api/participantsCrear participante
GET/api/participantsListar participantes9
GET/api/participants/by-user/:userIdObtener por userId
GET/api/participants/:idObtener por _id9
POST/api/participants/updateActualizar participanteBypass
POST/api/participants/deleteEliminar participante9
PATCH/api/participants/:id/pointsIncrementar puntos + streak + level
GET/api/participants/:id/activity-historyHistorial de actividades por día
GET/api/participants/leaderboardLeaderboard del curso
GET/api/participants/count-all-participantsConteo totalBypass
GET/api/participants/searchBuscar participantes9
POST/api/participants/bulkCarga masiva CSV9
GET/api/participants/filterFiltrar por rango de fechas9
GET/api/participants/paginatedListar paginado9

Módulo Rankings (/api/rankings)

MétodoRutaDescripciónAuth
GET/api/rankings/generalRanking globalPúblico
GET/api/rankings/course/:courseIdRanking por cursoPúblico
GET/api/rankings/institution/:institutionIdRanking por instituciónPúblico

Query params: limit (default 20), offset, search

Módulo Activity Completions (/api/activity-completions)

MétodoRutaDescripción
POST/api/activity-completionsRegistrar completación
GET/api/activity-completions/participant/:participantIdHistorial del participante
GET/api/activity-completions/stats/:participantIdEstadísticas del participante
GET/api/activity-completions/today-countCompletaciones de hoy
GET/api/activity-completions/rankingRanking por puntaje acumulado
GET/api/activity-completions/:idDetalle de completación

Módulo Feedback (/api/feedback)

MétodoRutaDescripción
GET/api/feedbackListar feedbacks (paginado)
GET/api/feedback/:idObtener por ID
POST/api/feedbackCrear feedback
PUT/api/feedback/:idActualizar feedback
DELETE/api/feedback/:idSoft delete
DELETE/api/feedback/:id/hardHard delete
PUT/api/feedback/:id/statusActualizar estado
PUT/api/feedback/:id/soft-deleteSoft delete con parámetros
POST/api/feedback/:id/convert-to-ideaConvertir a idea del backlog
POST/api/feedback/by-descriptionBuscar por descripción
GET/api/feedback/search/termBuscar por término
POST/api/feedback/upload-csvCarga masiva CSV

Módulo PreTests (/api/pretests)

MétodoRutaDescripciónPermiso
POST/api/pretestsCrear pretest15
GET/api/pretestsListar todos (paginado)15
PATCH/api/pretests/:idActualizar pretest15
DELETE/api/pretests/:idEliminar pretest15
POST/api/pretests/saveGuardar respuesta
GET/api/pretests/by-test/:testIdRespuestas de un test15
POST/api/pretests/search/userAndTestBuscar por userId + testId15
GET/api/pretests/search/user/:userIdTests de un usuario
GET/api/pretests/result-allTodos los resultados15
GET/api/pretests/result/:idResultado por ID
GET/api/pretests/status/:userIdEstado de completitud
GET/api/pretests/count-all-pretestsConteo totalBypass

Módulo Notifications (/api/notifications)

MétodoRutaDescripción
POST/api/notificationsCrear notificación
POST/api/notifications/batchCrear múltiples
GET/api/notifications/allListar todas (paginado)
GET/api/notifications/:idObtener por ID
GET/api/notifications/title/:titleObtener por título
PUT/api/notifications/:idActualizar
DELETE/api/notifications/:idEliminar
PUT/api/notifications/read/:idMarcar como leída
GET/api/notifications/unread/count/:idNo leídas por usuario
GET/api/notifications/count-all-notificationsConteo total
GET/api/notifications/count-all-notifications-by-dayConteo por día
GET/api/notifications/search/:termBuscar por término
POST/api/notifications/batch/uploadCarga masiva CSV

Push Notifications (/api/push-notifications)

MétodoRutaDescripción
POST/api/push-notifications/registerRegistrar token push
POST/api/push-notifications/unregisterDesactivar token