Invitaciones
Invitaciones por email para sumar miembros a una organización.
/·13 endpoints·Source: mosend-wb-backend/src/modules/invitations/invitations.controller.ts/organizations/:orgId/invitationsLista las invitaciones de la organización.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations' \ -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/invitationsCrear invitación. Devuelve `token` UNA sola vez (enviar por email).
Path params
orgIdstringrequerido
Body (JSON)
emailstring · emailrequeridoroleIdstring · uuidrequeridowabaIdsstring[]WABAs a las que se scopeará al aceptar. Vacío/omitido = acceso a todas.
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"email": "persona@empresa.com","roleId": "00000000-0000-0000-0000-000000000000","wabaIds": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"email": "invitee@empresa.com",
"roleId": "00000000-0000-0000-0000-000000000000"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/invitations/bulkInvita a varios correos a la vez con un mismo rol (y alcance de WABA opcional). Deduplica y omite los que ya son miembros o ya tienen invitación pendiente.
Path params
orgIdstringrequerido
Body (JSON)
emailsstring[]requeridoroleIdstring · uuidrequeridowabaIdsstring[]
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/bulk' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"emails": [],"roleId": "00000000-0000-0000-0000-000000000000","wabaIds": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"email": "invitee@empresa.com",
"roleId": "00000000-0000-0000-0000-000000000000"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/invitations/preregisterPreregistra agentes: crea sus cuentas (estado pendiente) y membresías al invitar, ocupando asiento. El agente solo define su contraseña para activarse.
Path params
orgIdstringrequerido
Body (JSON)
membersPreregisterMemberDto[]requeridoroleIdstring · uuidrequeridowabaIdsstring[]
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/preregister' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"members": [],"roleId": "00000000-0000-0000-0000-000000000000","wabaIds": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"email": "info@empresa.com",
"password": "••••••••",
"organizationName": "Mi Empresa"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/invitations/activation/:membershipIdRegenera el enlace de activación de un miembro pendiente. Con `notify` además reenvía el correo. Devuelve el token nuevo para copiar.
Path params
orgIdstringrequeridomembershipIdstringrequerido
Body (JSON)
notifybooleanSi true, además de devolver el enlace, reenvía el correo de activación.
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/activation/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"notify": true}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/invitations/:idCancela una invitación pendiente. Falla si ya fue aceptada.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/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/invitations/:id/resendReenvía una invitación: rota el token, refresca la expiración y vuelve a mandar el email. Falla si ya fue aceptada.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/00000000-0000-0000-0000-000000000000/resend' \ -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/invitations/:id/linkGenera un enlace de aceptación fresco (rota el token) SIN enviar email, para copiar y compartir por otro canal. Falla si ya fue aceptada.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/invitations/00000000-0000-0000-0000-000000000000/link' \ -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"
}/invitations/lookupDatos públicos de una invitación por token (org, rol, email, si ya tiene cuenta). Sin auth — lo usa la página de aceptación.
Query params
tokenstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/invitations/lookup'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/invitations/acceptAceptar invitación con el token recibido
Body (JSON)
tokenstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/invitations/accept' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"token": "<token>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"email": "invitee@empresa.com",
"roleId": "00000000-0000-0000-0000-000000000000"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/invitations/accept-signupAcepta la invitación creando la cuenta en el mismo paso (email tomado del token). Devuelve una sesión lista para usar.
Body (JSON)
tokenstringrequeridonamestringrequeridopasswordstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/invitations/accept-signup' \
-H 'Content-Type: application/json' \
-d '{"token": "<token>","name": "<name>","password": "<password>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/invitations/activate-lookupDatos públicos de una activación por token (org, rol, email, nombre). Sin auth — lo usa la página de activar cuenta.
Query params
tokenstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/invitations/activate-lookup'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/invitations/activateActiva una cuenta preregistrada definiendo su contraseña. Devuelve una sesión lista para usar.
Body (JSON)
tokenstringrequeridopasswordstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/invitations/activate' \
-H 'Content-Type: application/json' \
-d '{"token": "<token>","password": "<password>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}