Contactos
Personas con las que tu organización conversa. Incluye atributos, etiquetas y opt-in.
/organizations/:orgId/contacts·9 endpoints·Source: mosend-wb-backend/src/modules/contacts/contacts.controller.ts/organizations/:orgId/contactsLista y filtra contactos (búsqueda, canal, etiqueta, opt-in, país, actividad). Paginado.
Path params
orgIdstringrequerido
Query params
qstringrequeridochannelstringrequeridoidentifiedOnlystringrequeridotagIdstringrequeridooptInStatusstringrequeridocountrystringrequeridolanguagestringrequeridocreatedSincestringrequeridohasConversationsstringrequeridolastActivityDaysGtstringrequeridopagestringrequeridopageSizestringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts' \ -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/contactsCrea o actualiza un contacto (upsert por waId).
Path params
orgIdstringrequerido
Body (JSON)
waIdstringrequeridonamestringlanguagestringattributesobject
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"waId": "00000000-0000-0000-0000-000000000000","name": "<name>","language": "<language>","attributes": {}}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"phone": "+573000000000",
"name": "Juan Pérez",
"email": "juan@empresa.com"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/bulk-tagAgrega o quita una etiqueta a varios contactos de una vez.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/bulk-tag' \ -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/contacts/bulk-deleteElimina varios contactos de una vez.
Path params
orgIdstringrequerido
Body (JSON)
contactIdsstring[]requerido
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/bulk-delete' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"contactIds": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/bulk-opt-in-statusCambia el estado de opt-in (UNKNOWN/OPTED_IN/OPTED_OUT) de varios contactos.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/bulk-opt-in-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/contacts/importImporta contactos desde un archivo CSV (multipart/form-data, campo file).
Path params
orgIdstringrequerido
Query params
defaultCountrystringrequeridodefaultOptInstringrequerido
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/import' \ -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/contacts/:idDetalle de un contacto por id.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/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/contacts/:idActualiza campos de un contacto (nombre, atributos, idioma, etc.).
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
namestringlanguagestringcurrencystringCOPUSDMXNMoneda con la que se le cobra a este cliente. Cadena vacía = volver a la de la organización (JSON no distingue «no lo mandes» de «bórralo»).
attributesobjectoptInStatusobjectbotExcludedbooleanSi true, el bot no le responde nada (exclusión total, solo conversacional).
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"name": "<name>","language": "<language>","currency": "COP","attributes": {},"optInStatus": {},"botExcluded": true}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"phone": "+573000000000",
"name": "Juan Pérez",
"email": "juan@empresa.com"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/:idElimina un contacto por id.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 204
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts/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"
}