Asistencia / jornada
Referencia de 19 endpoints generados desde mosend-wb-backend/src/modules/attendance/attendance.controller.ts.
/organizations/:orgId/attendance·19 endpoints·Source: mosend-wb-backend/src/modules/attendance/attendance.controller.ts/organizations/:orgId/attendance/meEstado de jornada del agente autenticado (null = sin jornada en curso).
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/me' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/startInicia la jornada. Idempotente: si ya hay una en curso, la devuelve.
Path params
orgIdstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/start' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/statusCambia el estado de la jornada (Activo, Almuerzo, Pausa, Reunión, Capacitación).
Path params
orgIdstringrequerido
Body (JSON)
statusstringrequeridoONLINELUNCHBREAKMEETINGTRAINING
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/status' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"status": "ONLINE"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/endFinaliza la jornada y congela el informe del día (con resumen opcional).
Path params
orgIdstringrequerido
Body (JSON)
notestring
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/end' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"note": "<note>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/todayJornada de hoy del agente: totales en vivo, timeline, métricas y horario esperado.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/today' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/settingsConfiguración de auto-cierre de jornadas de la org (admin).
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/settings' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/settingsActualiza la configuración de auto-cierre de jornadas (admin).
Path params
orgIdstringrequerido
Body (JSON)
enabledbooleanautoCloseEnabledbooleaninactivityMinutesnumbercloseAtShiftEndbooleanrequireJornadaForInboxbooleanallowOvertimebooleanrequireActiveToAttendbooleanworkedCountingstringwall-clockwithin-shiftdayAttributionstringstart-daysplit-by-day`start-day` (jornada entera al día que empezó) o `split-by-day`.
lateGraceMinnumberMinutos de gracia antes de contar tardanza.
earlyLeaveGraceMinnumberMinutos de gracia antes de contar salida temprana.
absenceMinWorkedMinnumberMinutos mínimos trabajados para que un día con turno no cuente como falta.
payrollPeriodstringsemimonthlyrolling-15monthlyForma del período de nómina para los atajos de corte.
includeOpenSessionsbooleanIncluir la jornada en curso (parcial) en los informes.
celebrationsanyCelebración de los hitos de la jornada (frases + explosión).
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/settings' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"enabled": true,"autoCloseEnabled": true,"inactivityMinutes": 0,"closeAtShiftEnd": true,"requireJornadaForInbox": true,"allowOvertime": true,"requireActiveToAttend": true,"workedCounting": "wall-clock","dayAttribution": "start-day","lateGraceMin": 0,"earlyLeaveGraceMin": 0,"absenceMinWorkedMin": 0,"payrollPeriod": "semimonthly","includeOpenSessions": true,"celebrations": "<celebrations>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/overtimeAgentes con turno extra concedido para hoy (admin).
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/overtime' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/overtime/:agentIdConcede o revoca el turno extra de un agente para hoy (admin).
Path params
orgIdstringrequeridoagentIdstringrequerido
Body (JSON)
enabledbooleanrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/overtime/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"enabled": true}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/team-statusEstado en vivo de todos los miembros de la org (admin): qué hace cada agente ahora.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/team-status' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/dayTablero de asistencia de un día (admin): presente / tarde / ausente / extra por agente.
Path params
orgIdstringrequerido
Query params
datestringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/day' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/work-modesForma de trabajo de cada miembro: turno fijo o por horas (admin).
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/work-modes' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/work-modes/:agentIdCambia la forma de trabajo de una persona. Recalcula también su histórico.
Path params
orgIdstringrequeridoagentIdstringrequerido
Body (JSON)
workModestringrequeridoFIXEDHOURLY
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/work-modes/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"workMode": "FIXED"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/period-presetsAtajos de período (quincena, últimos 15/30, mes) en la TZ y forma de nómina de la org.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/period-presets' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/reportReporte de horas por agente sobre un rango (admin → nómina). Default: 30 días.
Path params
orgIdstringrequerido
Query params
fromstringrequeridotostringrequeridocomparestringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/report' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/sessionsHistorial de jornadas del agente autenticado (default: últimos 30 días).
Path params
orgIdstringrequerido
Query params
fromstringrequeridotostringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/sessions' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/sessions/agent/:agentIdHistorial de jornadas de un agente con su informe (admin).
Path params
orgIdstringrequeridoagentIdstringrequerido
Query params
fromstringrequeridotostringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/sessions/agent/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/sessions/:sessionIdCorrige el cierre de una jornada finalizada (admin): mueve endedAt y recalcula.
Path params
orgIdstringrequeridosessionIdstringrequerido
Body (JSON)
endedAtnumberrequeridoNuevo instante de cierre (epoch en milisegundos).
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/sessions/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"endedAt": 0}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/attendance/sessions/:sessionIdElimina una jornada y sus eventos (admin): registros erróneos.
Path params
orgIdstringrequeridosessionIdstringrequerido
Respuestas
- 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/attendance/sessions/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}