{"openapi":"3.0.3","info":{"title":"SendyPOP API","version":"v1","description":"API de SendyPOP para integrar tu sistema: envío transaccional, contactos, campañas, automatizaciones, eventos, webhooks, reportes y dominios.\n\n**Autenticación:** `Authorization: Bearer <API key>` (o `X-API-Key`). Cada clave pertenece a una empresa y tiene permisos (scopes) mínimos.\n**Base URL:** `https://sendypop.com/api`.\n**Límites:** 20 pedidos por segundo por clave (ráfaga de 60) → `429` con `Retry-After`; los envíos además respetan los cupos de la empresa.\n**Errores:** JSON `{ \"error\": \"codigo\", \"message\": \"...\" }` con 400 (datos), 401 (credencial), 403 (empresa/permiso), 404, 409 (estado) y 429.\n\nGuía completa con ejemplos y verificación de la firma de webhooks: https://sendypop.com/documentacion/"},"components":{"schemas":{},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"API key de la empresa"}}},"paths":{"/v1/messages":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Mensajes"],"summary":"Enviar un email transaccional","description":"Permiso requerido: `messages:send`."}},"/v1/messages/{messageId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"messageId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Mensajes"],"summary":"Consultar el estado de un mensaje","description":"Permiso requerido: `messages:read`."}},"/v1/messages/{messageId}/events":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"messageId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Mensajes"],"summary":"Eventos de un mensaje (entrega, rebote, apertura, clic)","description":"Permiso requerido: `events:read o messages:read`."}},"/v1/contacts":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Listar contactos","description":"Permiso requerido: `contacts:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Crear un contacto","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/lookup":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Buscar contactos por email","description":"Permiso requerido: `contacts:read`."}},"/v1/contacts/import-batch":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Importar un lote de contactos","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/{contactId}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"contactId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Editar un contacto","description":"Permiso requerido: `contacts:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"contactId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Eliminar un contacto","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/bulk-delete":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Eliminar varios contactos","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/{contactId}/lists":{"put":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"contactId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Definir los grupos de un contacto","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/{contactId}/tags":{"put":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"contactId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Definir las etiquetas de un contacto","description":"Permiso requerido: `contacts:write`."}},"/v1/contacts/bulk-tags":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Agregar o quitar etiquetas a varios contactos","description":"Permiso requerido: `contacts:write`."}},"/v1/lists":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Listar grupos","description":"Permiso requerido: `contacts:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Crear un grupo","description":"Permiso requerido: `contacts:write`."}},"/v1/lists/{listId}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"listId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Renombrar un grupo","description":"Permiso requerido: `contacts:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"listId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Eliminar un grupo (en segundo plano)","description":"Permiso requerido: `contacts:write`."}},"/v1/lists/{listId}/contacts":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"listId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Contactos de un grupo","description":"Permiso requerido: `contacts:read`."},"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"listId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Agregar un contacto a un grupo","description":"Permiso requerido: `contacts:write`."}},"/v1/lists/{listId}/memberships":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"listId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Agregar o quitar varios contactos de un grupo","description":"Permiso requerido: `contacts:write`."}},"/v1/contact-memberships/move":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Grupos"],"summary":"Mover contactos entre grupos","description":"Permiso requerido: `contacts:write`."}},"/v1/tags":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Etiquetas"],"summary":"Listar etiquetas","description":"Permiso requerido: `contacts:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Etiquetas"],"summary":"Crear una etiqueta","description":"Permiso requerido: `contacts:write`."}},"/v1/tags/{tagId}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"tagId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Etiquetas"],"summary":"Editar una etiqueta","description":"Permiso requerido: `contacts:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"tagId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Etiquetas"],"summary":"Eliminar una etiqueta","description":"Permiso requerido: `contacts:write`."}},"/v1/campaigns":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Listar campañas","description":"Permiso requerido: `campaigns:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Crear una campaña","description":"Permiso requerido: `campaigns:write`."}},"/v1/campaigns/{campaignId}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Editar una campaña en borrador","description":"Permiso requerido: `campaigns:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Eliminar una campaña en borrador","description":"Permiso requerido: `campaigns:write`."}},"/v1/campaigns/{campaignId}/send":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Enviar una campaña ahora","description":"Permiso requerido: `campaigns:send`."}},"/v1/campaigns/{campaignId}/schedule":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Programar una campaña","description":"Permiso requerido: `campaigns:send`."}},"/v1/campaigns/{campaignId}/resend":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Reenviar una campaña terminada","description":"Permiso requerido: `campaigns:send`."}},"/v1/campaigns/{campaignId}/follow-up":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Crear un seguimiento por interacción (trabajo en segundo plano)","description":"Permiso requerido: `campaigns:write`."}},"/v1/campaigns/{campaignId}/follow-up/jobs/{jobId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true},{"schema":{"type":"string"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Estado de la preparación de un seguimiento","description":"Permiso requerido: `campaigns:write`."}},"/v1/campaigns/{campaignId}/follow-up/jobs/{jobId}/retry":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true},{"schema":{"type":"string"},"in":"path","name":"jobId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Reintentar la preparación de un seguimiento","description":"Permiso requerido: `campaigns:write`."}},"/v1/campaigns/{campaignId}/spam-check":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Análisis anti-spam del contenido","description":"Permiso requerido: `campaigns:read`."}},"/v1/suppressions/reactivate-batch":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Contactos"],"summary":"Desbloquear direcciones en lote con motivo","description":"Permiso requerido: `suppressions:write`."}},"/v1/campaigns/{campaignId}/content-review":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Observaciones de contenido antes de enviar","description":"Permiso requerido: `campaigns:read`."}},"/v1/campaigns/{campaignId}/errors":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"campaignId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Errores de entrega de una campaña","description":"Permiso requerido: `campaigns:read`."}},"/v1/campaign-groups":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Listar carpetas de campañas","description":"Permiso requerido: `campaigns:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Campañas"],"summary":"Crear una carpeta de campañas","description":"Permiso requerido: `campaigns:write`."}},"/v1/automations":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Listar automatizaciones","description":"Permiso requerido: `automations:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Crear una automatización","description":"Permiso requerido: `automations:write`."}},"/v1/automations/{automationId}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"automationId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Editar una automatización","description":"Permiso requerido: `automations:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"automationId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Eliminar una automatización","description":"Permiso requerido: `automations:write`."}},"/v1/automations/{automationId}/activate":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"automationId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Activar una automatización","description":"Permiso requerido: `automations:write`."}},"/v1/automations/{automationId}/pause":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"automationId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Automatizaciones"],"summary":"Pausar una automatización","description":"Permiso requerido: `automations:write`."}},"/v1/events":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Eventos"],"summary":"Registrar un evento de un contacto","description":"Permiso requerido: `events:write`."},"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Eventos"],"summary":"Historial de eventos","description":"Permiso requerido: `events:read`."}},"/v1/webhooks/events":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Tipos de evento y política de reintentos","description":"Permiso requerido: `—`.","security":[]}},"/v1/webhooks":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Listar webhooks","description":"Permiso requerido: `webhooks:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Crear un webhook (devuelve el secreto una sola vez)","description":"Permiso requerido: `webhooks:write`."}},"/v1/webhooks/{webhookId}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Consultar un webhook","description":"Permiso requerido: `webhooks:read`."},"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Editar, pausar o reactivar un webhook","description":"Permiso requerido: `webhooks:write`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Eliminar un webhook","description":"Permiso requerido: `webhooks:write`."}},"/v1/webhooks/{webhookId}/rotate-secret":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Generar un secreto nuevo","description":"Permiso requerido: `webhooks:write`."}},"/v1/webhooks/{webhookId}/test":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Enviar un evento de prueba","description":"Permiso requerido: `webhooks:write`."}},"/v1/webhooks/{webhookId}/deliveries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Historial de entregas","description":"Permiso requerido: `webhooks:read`."}},"/v1/webhooks/{webhookId}/deliveries/{deliveryId}/retry":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"webhookId","required":true},{"schema":{"type":"string"},"in":"path","name":"deliveryId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Webhooks"],"summary":"Reintentar una entrega fallida","description":"Permiso requerido: `webhooks:write`."}},"/v1/reports/definitions":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Reportes disponibles","description":"Permiso requerido: `reports:read`."}},"/v1/reports/run":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Generar un reporte","description":"Permiso requerido: `reports:read`."}},"/v1/reports/export":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Exportar un reporte a CSV o Excel","description":"Permiso requerido: `reports:export`."}},"/v1/reports/company":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Reportes de la empresa, carpetas, remitentes, campañas, guardados y envíos programados","description":"Permiso requerido: `reports:read`."}},"/v1/reports/company/{type}/run":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"type","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Calcular un reporte de la empresa (JSON)","description":"Permiso requerido: `reports:read`."}},"/v1/reports/company/{type}/export":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"type","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Descargar un reporte de la empresa en Excel, CSV o PDF","description":"Permiso requerido: `reports:export`."}},"/v1/reports/company/saved":{"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Guardar un reporte con sus filtros","description":"Permiso requerido: `reports:export`."}},"/v1/reports/company/saved/{id}":{"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Borrar un reporte guardado","description":"Permiso requerido: `reports:export`."}},"/v1/reports/company/schedules":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Envíos programados con su historial","description":"Permiso requerido: `reports:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Programar el envío de un reporte por email","description":"Permiso requerido: `reports:export`."}},"/v1/reports/company/schedules/{id}":{"patch":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Pausar o reanudar un envío programado","description":"Permiso requerido: `reports:export`."},"delete":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Reportes"],"summary":"Borrar un envío programado","description":"Permiso requerido: `reports:export`."}},"/v1/domains":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Dominios"],"summary":"Listar dominios","description":"Permiso requerido: `domains:read`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Dominios"],"summary":"Agregar un dominio","description":"Permiso requerido: `domains:write`."}},"/v1/domains/{domainId}/dns":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"domainId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Dominios"],"summary":"Registros DNS a publicar y su estado","description":"Permiso requerido: `domains:read`."}},"/v1/domains/{domainId}/verify":{"post":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"domainId","required":true}],"responses":{"200":{"description":"Default Response"}},"tags":["Dominios"],"summary":"Verificar los registros DNS","description":"Permiso requerido: `domains:write`."}},"/v1/senders":{"get":{"responses":{"200":{"description":"Default Response"}},"tags":["Remitentes"],"summary":"Listar remitentes","description":"Permiso requerido: `senders:manage`."},"post":{"responses":{"200":{"description":"Default Response"}},"tags":["Remitentes"],"summary":"Crear un remitente","description":"Permiso requerido: `senders:write`."}}},"servers":[{"url":"https://sendypop.com/api"}],"tags":[{"name":"Mensajes","description":"Envío transaccional de un email y su seguimiento."},{"name":"Contactos","description":"Alta, edición, búsqueda, etiquetas e importación por lotes."},{"name":"Grupos","description":"Grupos (listas) de contactos y sus miembros."},{"name":"Etiquetas","description":"Etiquetas para clasificar contactos."},{"name":"Campañas","description":"Crear, programar, enviar y seguir campañas."},{"name":"Automatizaciones","description":"Flujos disparador → espera → email."},{"name":"Eventos","description":"Eventos propios (compra, alta, etc.) que disparan automatizaciones."},{"name":"Webhooks","description":"Avisos firmados a tu sistema: entregas, rebotes, aperturas, clics y bajas."},{"name":"Reportes","description":"Reportes y exportación a CSV o Excel."},{"name":"Dominios","description":"Dominios de envío, registros DNS y verificación."},{"name":"Remitentes","description":"Direcciones From autorizadas."}],"security":[{"apiKey":[]}]}