Contacts
Personas con las que tu organización conversa. Incluye atributos, etiquetas y opt-in.
Base path:
/organizations/:orgId/contacts·9 endpoints·Source: mosend-wb-backend/src/modules/contacts/contacts.controller.ts/organizations/:orgId/contacts bearer
Lista y filtra contactos (búsqueda, canal, etiqueta, opt-in, país, actividad). Paginado.
Path params
orgIdstringrequerido
Query params
qstringchannelstringidentifiedOnlystringtagIdstringoptInStatusstringcountrystringlanguagestringcreatedSincestringhasConversationsstringlastActivityDaysGtstringpagestringpageSizestring
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/contacts' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts bearer
Crea 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": {}}'Response · 200
{
"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-tag bearer
Agrega 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>'
Response · 200
{
"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-delete bearer
Elimina 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-delete' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"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-opt-in-status bearer
Cambia 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>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/import bearer
Importa contactos desde un archivo CSV (multipart/form-data, campo file).
Path params
orgIdstringrequerido
Query params
defaultCountrystringdefaultOptInstring
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>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/:id bearer
Detalle 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>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/contacts/:id bearer
Actualiza campos de un contacto (nombre, atributos, idioma, etc.).
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
namestringlanguagestringattributesobjectoptInStatusobject
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>","attributes": {},"optInStatus": {}}'Response · 200
{
"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/:id bearer
Elimina 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>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}