accueil / serveurs / Dev & Code / io.github.wilmendezofficial/postari
io.github.wilmendezofficial/postari
serveur MCP (Model Context Protocol) · postari 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.wilmendezofficial/postari est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.wilmendezofficial/postari » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 41 outils
- account_stats≈ 278 tokens
Métricas globales de la cuenta (enviados, entregados, abrieron, hicieron clic, bajas, rebotes, contactos nuevos) en un rango de días de la zona horaria de la cuenta, ambos incluidos; la cohorte es el día de ENVÍO de cada correo, la misma fuente que /metricas. avg_open_rate y avg_click_rate en % con 2 decimales sobre ENTREGADOS (avg_*_rate_fraction: alias deprecados en fracción). Si hay días aún sin calcular responde 503 metrics_recalculating: reintenta, nunca son sumas parciales. Rebote separado: bounced_hard / bounce_rate_hard (definitivo, el que se vigila) y bounced_soft / bounce_rate_soft (temporal), en % sobre enviados (bounce_rates_base: "sent"); null si el período no tiene el tipo medido, nunca un 0 inventado. total_bounces = definitivos + temporales. Ojo: en la ficha de campaña (get_campaign_stats) el mismo dato se llama bounce_hard_rate.
Paramètres, retour & exemple (2)
Paramètresto· string · optionnel
Fecha fin YYYY-MM-DD (opcional).from· string · optionnel
Fecha inicio YYYY-MM-DD (opcional).
Exemple d'appel{"name": "account_stats", "arguments": {"to": "texte", "from": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - activate_flow≈ 97 tokens
Pone la automatización en servicio (status active) o la pausa con paused:true. OJO: activar NO hace que envíe — para eso hace falta armarla (arm_flow).
Paramètres, retour & exemple (2)
Paramètrespaused· boolean · optionnel
true para pausar en vez de activar.flow_id· string · requis
Exemple d'appel{"name": "activate_flow", "arguments": {"flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_subscriber_to_list≈ 78 tokens
Añade un contacto (por email o contact_id) a una lista.
Paramètres, retour & exemple (3)
Paramètresemail· string · optionnellist_id· string · requis
ID de la lista.contact_id· string · optionnel
Exemple d'appel{"name": "add_subscriber_to_list", "arguments": {"list_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - arm_flow≈ 158 tokens
ARMA la automatización: a partir de aquí envía correos REALES sola. Exige confirm:"ARMAR ENVIOS" literal, haber probado el flujo antes, y que la cuenta permita envíos por agente. NO es retroactivo: solo entra quien cumpla el disparador de ahora en adelante.
Paramètres, retour & exemple (3)
Paramètresconfirm· string · requis
Tiene que ser exactamente "ARMAR ENVIOS".flow_id· string · requisacknowledge_no_list_filter· boolean · optionnel
Obligatorio si el disparador es "cualquier lista".
Exemple d'appel{"name": "arm_flow", "arguments": {"confirm": "texte", "flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clean_bounced_subscribers≈ 191 tokens
Saca de circulación a los contactos activos que tienen un rebote PERMANENTE (la dirección no existe) o 3 rebotes temporales seguidos sin ninguna señal de vida entre medio (ni entregado, ni abierto, ni clic). Un rebote temporal suelto, como un buzón lleno, nunca saca a nadie. Deja escrito el motivo en el contacto. Sin `aplicar:true` solo devuelve el recuento por motivo, no cambia nada.
Paramètres, retour & exemple (2)
Paramètresaplicar· boolean · optionnel
false (por defecto) = simulacro, devuelve el recuento sin tocar nada. true = ejecuta la supresión.list_id· string · optionnel
Limitar la limpieza a una lista. Si se omite, aplica a toda la cuenta.
Exemple d'appel{"name": "clean_bounced_subscribers", "arguments": {"aplicar": true, "list_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_flow≈ 211 tokens
Crea una automatización. NACE EN BORRADOR Y DESARMADA: no envía nada hasta que se pruebe, se active y se arme a propósito. El `graph` es el mismo formato que devuelve get_flow.
Paramètres, retour & exemple (4)
Paramètresname· string · requisgraph· object · optionnel
Pasos: {"nodes":[{"id":"1","type":"email","label":"...","config":{"subject":"...","blocks":[...]},"next":"2"}],"edges":[]}.trigger_type· string · optionnel
list_subscribe | tag_added | form_submit | date_relative | birthday | abandoned_cart | api | manual…trigger_config· object · optionnel
Config del disparador (p. ej. {"list_id":"..."}).
Exemple d'appel{"name": "create_flow", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_form≈ 166 tokens
Crea un formulario de captación y devuelve su URL pública y su código para embeber. Si no pasas campos, lleva uno de correo.
Paramètres, retour & exemple (6)
Paramètresname· string · requisfields· array · optionnel
Campos: [{name,type,label,required}]. Debe incluir uno "email".list_id· string · optionnel
Lista donde caen las altas.display_mode· string · optionnel
inline | popup.double_optin· boolean · optionnelthank_you_message· string · optionnel
Exemple d'appel{"name": "create_form", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_landing≈ 256 tokens
Crea una página de aterrizaje y devuelve su URL pública. `kind`: blocks (bloques de Postari) · code (HTML propio) · ai (desde un prompt) · iframe · external_url. Conéctale un formulario con form_id para que capte suscriptores.
Paramètres, retour & exemple (9)
Paramètreskind· string · optionnel
blocks | code | ai | iframe | external_url. Default: blocks.name· string · requisslug· string · requis
Va en la URL /l/<slug>: minúsculas, números y guiones.blocks· array · optionnel
Contenido si kind=blocks.form_id· string · optionnel
Formulario que se muestra en la página.ai_prompt· string · optionnel
Instrucción si kind=ai.html_code· string · optionnel
HTML si kind=code.iframe_url· string · optionnelexternal_url· string · optionnel
Exemple d'appel{"name": "create_landing", "arguments": {"name": "texte", "slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_launch≈ 282 tokens
Crea un LANZAMIENTO (curso, infoproducto, evento…) con sus etapas: es la unidad que agrupa los correos de una campaña con fechas. Si no pasas `stages` y el tipo es curso/infoproducto, siembra 8 etapas estándar (lead magnet → webinar → apertura de carrito → cierre).
Paramètres, retour & exemple (7)
Paramètreskind· string · optionnel
curso | membresía | infoproducto | evento | servicio | otro. Default: curso.name· string · requis
Nombre del lanzamiento.stages· array · optionnel
Etapas explícitas: [{kind,title,scheduled_at}].ends_at· string · optionnel
Fecha de cierre en ISO 8601.starts_at· string · optionnel
Fecha de inicio en ISO 8601.seed_default_stages· boolean · optionnel
false para crearlo SIN etapas. Default: true en curso/infoproducto.target_revenue_cents· number · optionnel
Objetivo de facturación en céntimos (opcional).
Exemple d'appel{"name": "create_launch", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_list≈ 62 tokens
Crea una nueva lista de contactos.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Nombre de la lista.description· string · optionnel
Exemple d'appel{"name": "create_list", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_segment≈ 118 tokens
Crea un segmento: una regla de "quién entra" que se recalcula sola. Es lo que se usa para segmentar un lanzamiento sin duplicar listas.
Paramètres, retour & exemple (3)
Paramètresname· string · requisdefinition· object · requis
Reglas del segmento (mismo JSON que la UI de /segmentos).description· string · optionnel
Exemple d'appel{"name": "create_segment", "arguments": {"name": "texte", "definition": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_subscriber≈ 166 tokens
Crea o actualiza (upsert) un contacto/suscriptor. Si ya existe, lo actualiza sin duplicar.
Paramètres, retour & exemple (7)
Paramètrestags· array · optionnel
Etiquetas a aplicar.email· string · requis
Correo del contacto (requerido).phone· string · optionnelcountry· string · optionnel
Código ISO de país, ej "CO".metadata· object · optionnel
Campos personalizados.last_name· string · optionnelfirst_name· string · optionnel
Exemple d'appel{"name": "create_subscriber", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_tag≈ 63 tokens
Crea una etiqueta (idempotente: si ya existe devuelve la que hay, no la duplica).
Paramètres, retour & exemple (2)
Paramètresname· string · requiscolor· string · optionnel
Exemple d'appel{"name": "create_tag", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_template≈ 156 tokens
Crea una plantilla propia de la cuenta, opcionalmente duplicando una del catálogo con from_template_id. Las del catálogo son compartidas y no se editan.
Paramètres, retour & exemple (7)
Paramètresname· string · requisblocks· array · optionnelsubject· string · optionnelcategory· string · optionnelpreheader· string · optionneldescription· string · optionnelfrom_template_id· string · optionnel
Duplica esta plantilla como punto de partida.
Exemple d'appel{"name": "create_template", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - diagnose_deliverability≈ 156 tokens
Diagnóstico de ENTREGABILIDAD de la cuenta (últimos 28 días): rebotes, quejas de spam, aperturas y salud del dominio (DNS). Devuelve un veredicto (sano/a_vigilar/en_riesgo) + acciones priorizadas. El rebote que se juzga (`bounce_rate`) es el DEFINITIVO; el temporal (buzón lleno) va aparte en `bounce_rate_temporal`. Tasas en % con 2 decimales: rebotes y quejas sobre ENVIADOS (umbrales sanos <2 % y <0,1 %); open_rate sobre ENTREGADOS, como account_stats. Úsalo antes de un envío grande o si los correos no llegan.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "diagnose_deliverability", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_agent_activity≈ 92 tokens
Transparencia "qué hizo la IA": lista las acciones de la cuenta originadas por un agente/IA (chat Atelier, API de agente, A2A) — qué se hizo, sobre qué y cuándo. Para auditar lo que un agente ejecutó.
Paramètres, retour & exemple (1)
Paramètreslimit· number · optionnel
1-100, default 50.
Exemple d'appel{"name": "get_agent_activity", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_campaign_audience≈ 161 tokens
¿A cuánta gente le va a llegar este correo? Devuelve los destinatarios REALES aplicando el filtro guardado, por el mismo camino que el envío: base = activos de la lista hoy, excluidos = los que quita el filtro, audience_live_total = el público de HOY. Si ya empezó a enviarse trae además recipients_snapshot (la foto del primer tick), excluded_on_send (tope de frecuencia y dominios bloqueados) y remaining_to_send. total_recipients es un alias deprecado de audience_live_total.
Paramètres, retour & exemple (1)
Paramètrescampaign_id· string · requis
Exemple d'appel{"name": "get_campaign_audience", "arguments": {"campaign_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_campaign_stats≈ 325 tokens
Métricas reales de una campaña leídas de los eventos en vivo: enviados, entregados, abrieron (únicos y aperturas registradas), clics únicos y registrados, clics de sistema, rebotes (bounce_hard_rate = definitivo, el que se vigila), bajas, quejas, ingresos USD atribuidos (ventas con clic o, sin clic, apertura de este correo antes de comprar; si la persona solo lo recibió la venta es «influida» y NO suma) y by_link (clics de contenido por URL). maturity: sending/paused = parcial, settling = enviada hace menos de 24 h. stale true = la lectura falló y las cifras no son de fiar. Definiciones: enviados = correos con sent_at; entregados = enviados − rebotados; abrieron = correos con apertura (píxel, webhook o clic); clics únicos = correos con clic en un enlace de contenido (baja, preferencias y pie aparte en clicked_system). Tasas en % con 2 decimales: entrega y rebote sobre ENVIADOS; apertura, clic, bajas y quejas sobre ENTREGADOS (rate_base "delivered"); ctor = clics únicos / abrieron. null = sin denominador, nunca 0 inventado. *_fraction son alias heredados en fracción 0-1 (deprecados).
Paramètres, retour & exemple (1)
Paramètrescampaign_id· string · requis
ID de la campaña.
Exemple d'appel{"name": "get_campaign_stats", "arguments": {"campaign_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_form≈ 154 tokens
Un formulario con sus campos y sus KPIs recontados en vivo (form_kpis_v2): primary_count en primary_unit (people en captura, submissions en encuesta), people, submissions (envíos sin papelera), views, views_measured y conversion_rate (primary_count / views, % con 1 decimal, null si las vistas no están medidas). Mismas definiciones que list_forms. Si la lectura falla responde 503 metrics_unavailable (nunca un número sin avisar).
Paramètres, retour & exemple (1)
Paramètresform_id· string · requis
ID del formulario.
Exemple d'appel{"name": "get_form", "arguments": {"form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_launch≈ 269 tokens
Un lanzamiento con sus etapas y las MÉTRICAS REALES de cada una (enviados, entregados, abrieron, clics únicos, bajas, ingresos USD atribuidos por clic o apertura, sin las ventas solo «influidas») más el total; cada campaña se suma una sola vez. stages_sent de stages_total = etapas ya enviadas. metrics null en una etapa = todavía no tiene correo (no es 0). Es la forma de saber cómo va un lanzamiento. Definiciones: enviados = correos con sent_at; entregados = enviados − rebotados; abrieron = correos con apertura (píxel, webhook o clic); clics únicos = correos con clic en un enlace de contenido (baja, preferencias y pie aparte en clicked_system). Tasas en % con 2 decimales: entrega y rebote sobre ENVIADOS; apertura, clic, bajas y quejas sobre ENTREGADOS (rate_base "delivered"); ctor = clics únicos / abrieron. null = sin denominador, nunca 0 inventado. *_fraction son alias heredados en fracción 0-1 (deprecados).
Paramètres, retour & exemple (1)
Paramètreslaunch_id· string · requis
Exemple d'appel{"name": "get_launch", "arguments": {"launch_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_subscriber≈ 145 tokens
Busca un contacto por su correo y devuelve sus datos, estado, etiquetas e historial básico. Si está rebotado trae `bounce: {tipo, subtipo, fecha, motivo, dominio_sugerido}` (tipo permanente o temporal; motivo rebote_permanente, rebote_temporal_repetido, rebote_temporal o rebote_sin_evento; dominio_sugerido si la dirección parece mal escrita, p. ej. gmail.co → gmail.com); si no, `bounce: null`.
Paramètres, retour & exemple (1)
Paramètresemail· string · requis
Correo a buscar.
Exemple d'appel{"name": "get_subscriber", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch_campaign≈ 567 tokens
AGÉNTICA · Lanza una campaña de correo COMPLETA desde un brief en lenguaje natural. Postari GENERA el correo (asunto + diseño con la voz y el color de marca del tenant), lo arma sobre una lista y devuelve un BORRADOR con preview (preview_html). Por defecto NO envía: para enviar de verdad, vuelve a llamar con los mismos campos + confirm_send:true (o scheduled_at para agendar). Es la forma de "dile el objetivo y Postari lo logra". Requiere scope `write` (borrador) o `send` (enviar).
Paramètres, retour & exemple (13)
Paramètresgoal· string · optionnel
Objetivo opcional: ventas, reactivación, anuncio, evento…tone· string · optionnel
Tono opcional: cálido, urgente, divertido, profesional…brief· string · optionnel
Qué comunicar, en lenguaje natural. Ej: "Black Friday 30% OFF en todos los cursos, tono urgente, cierra el viernes". Postari escribe el correo.blocks· array · optionnel
Bloques de contenido propios (opcional · alternativa a brief).cta_url· string · optionnel
URL del botón principal (opcional).list_id· string · requis
UUID de la lista destino (usa list_lists para verlas). Una lista inteligente no sirve para enviar: 409 smart_list_not_sendable.subject· string · optionnel
Asunto exacto (opcional · si lo das, no se genera).cta_label· string · optionnel
Texto del botón (opcional).from_name· string · optionnel
Nombre del remitente (opcional).html_body· string · optionnel
HTML libre (opcional · alternativa a brief/blocks).variables· object · optionnel
Variables mustache {{var}} (opcional).confirm_send· boolean · optionnel
false (default) = solo borrador + preview, no envía. true = ENVÍA de verdad a la lista (requiere scope send + que el tenant tenga habilitados los envíos por agente).scheduled_at· string · optionnel
ISO8601 para agendar el envío (opcional · requiere confirm_send).
Exemple d'appel{"name": "launch_campaign", "arguments": {"list_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - link_campaign_to_launch_stage≈ 180 tokens
Conecta un correo YA ESCRITO a una etapa del lanzamiento (o lo desconecta con campaign_id null). Sin esto la etapa no mide nada: sus KPIs dependen de este vínculo. También sirve para cambiar título, fecha o estado de la etapa.
Paramètres, retour & exemple (6)
Paramètrestitle· string · optionnelstatus· string · optionnel
planned | sent | done | skipped.stage_id· string · requislaunch_id· string · requiscampaign_id· string · optionnel
ID de la campaña a conectar. null para desconectar.scheduled_at· string · optionnel
ISO 8601.
Exemple d'appel{"name": "link_campaign_to_launch_stage", "arguments": {"stage_id": "texte", "launch_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_campaigns≈ 370 tokens
Lista las campañas/correos del tenant con sus métricas (metrics.*, desde los contadores que mantiene el reconciliador: durante un envío pueden ir unos minutos detrás de get_campaign_stats). En este listado opened_total, clicked_total, clicked_system, delivered_confirmed, failed, bounced_hard, bounced_soft y bounce_hard_rate llegan en null (los contadores no los guardan; null = no medido, no 0): pídelos a get_campaign_stats. audience_count = «¿a cuántos?»: si ya empezó, la foto del envío; en borrador o programada, los ACTIVOS de la lista hoy ANTES del filtro guardado (audience_basis "list_active_before_filters"); el neto exacto lo da get_campaign_audience. Filtrable por estado (draft, scheduled, sending, sent). Definiciones: enviados = correos con sent_at; entregados = enviados − rebotados; abrieron = correos con apertura (píxel, webhook o clic); clics únicos = correos con clic en un enlace de contenido (baja, preferencias y pie aparte en clicked_system). Tasas en % con 2 decimales: entrega y rebote sobre ENVIADOS; apertura, clic, bajas y quejas sobre ENTREGADOS (rate_base "delivered"); ctor = clics únicos / abrieron. null = sin denominador, nunca 0 inventado. *_fraction son alias heredados en fracción 0-1 (deprecados).
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
1-500, default 20.status· string · optionnel
Filtro de estado (opcional).
Exemple d'appel{"name": "list_campaigns", "arguments": {"limit": 1, "status": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_flow_emails≈ 86 tokens
Los correos de una automatización, cada uno con su node_id, su asunto y su URL propia para compartir con el cliente. Antes estos correos no tenían dirección: vivían enterrados en el flujo.
Paramètres, retour & exemple (1)
Paramètresflow_id· string · requis
Exemple d'appel{"name": "list_flow_emails", "arguments": {"flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_forms≈ 244 tokens
Lista los formularios con sus KPIs. El número de cada formulario es primary_count en la unidad primary_unit: people = personas distintas (correo normalizado, sin papelera) en un formulario de captura; submissions = respuestas en una encuesta (is_survey true: una persona puede responder varias veces). people = personas distintas; submissions = envíos sin papelera (filas, repeticiones incluidas: NO es el número del formulario de captura); views = cargas del formulario (1 por navegador cada 24 h); views_measured false = la página que envía las altas no avisa de las visitas; conversion_rate = primary_count / views en % con 1 decimal (null si las vistas no están medidas). Los mismos números que la app.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
1-200, default 100.is_active· boolean · optionnel
true = solo activos · false = solo inactivos (opcional).
Exemple d'appel{"name": "list_forms", "arguments": {"limit": 1, "is_active": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_landings≈ 96 tokens
Lista las páginas de aterrizaje con sus visitas, conversiones y tasa de conversión (conversion_rate = conversiones / visitas en % con 2 decimales y tope 100; null si aún no hubo visitas: no medible, no es 0 · cambio de contrato del 3-oct-2026, antes devolvía 0).
Paramètres, retour & exemple (1)
Paramètreslimit· number · optionnel
Exemple d'appel{"name": "list_landings", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_launches≈ 81 tokens
Lista los lanzamientos de la cuenta, con cuántas etapas tiene cada uno y cuántas ya están conectadas a un correo.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnelstatus· string · optionnel
planning | active | closed | archived.
Exemple d'appel{"name": "list_launches", "arguments": {"limit": 1, "status": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_lists≈ 130 tokens
Lista todas las listas de contactos con su tamaño: active_count = contactos ACTIVOS (a quienes les llega un envío) y total_count = todas las membresías (cualquier estado), de list_sizes_v1, la misma fuente que la app. Una lista inteligente se mide evaluando su filtro (hoy no se envía a listas inteligentes); size_ok false = no se pudo medir y los conteos vienen en null. contacts_count es un alias deprecado de total_count.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_lists", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_subscribers≈ 327 tokens
Lista contactos paginados (más recientes primero, cursor keyset). Filtros: status (active|unsubscribed|bounced|complained), list_id (membresías físicas: una lista inteligente devuelve 0 filas; su tamaño está en list_lists (active_count / total_count) o en GET /api/v1/lists/{id}/count) y tag = nombre EXACTO de una etiqueta del catálogo (contact_tags, la misma fuente que /etiquetas). Desde el 3-oct-2026 tag ya no mira las etiquetas importadas (imported_tags): cada fila trae `tags` (importadas, como siempre) y `catalog_tags` (las del catálogo, las que filtra tag). include_count:true añade total_count; si el conteo no se puede hacer responde 503 count_unavailable, nunca 0.
Paramètres, retour & exemple (6)
Paramètrestag· string · optionnel
Nombre exacto de una etiqueta del catálogo (contact_tags).limit· number · optionnel
1-500 (default 100).cursor· string · optionnel
pagination.next_cursor de la página anterior.status· string · optionnel · active | unsubscribed | bounced | complainedlist_id· string · optionnel
Solo miembros de esta lista.include_count· boolean · optionnel
true añade total_count (consulta aparte).
Exemple d'appel{"name": "list_subscribers", "arguments": {"tag": "texte", "limit": 1, "cursor": "texte", "status": "active", "list_id": "texte", "include_count": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - reactivate_bounced_subscriber≈ 180 tokens
Devuelve a tus envíos a un contacto que salió por un rebote TEMPORAL suelto (buzón lleno, servidor ocupado). Solo funciona si el rebote fue temporal, el dominio no está bloqueado ni mal escrito (gmail.co, hormail.com: corrige la dirección; el 409 trae dominio_sugerido) y no se dio de baja ni marcó spam; si no, responde 409 con el motivo (por ejemplo, rebote definitivo: la dirección no existe). No reanuda flujos viejos ni envía la bienvenida. Úsalo en vez de update_subscriber con status "active".
Paramètres, retour & exemple (1)
Paramètresemail· string · requis
Correo (o id) del contacto rebotado.
Exemple d'appel{"name": "reactivate_bounced_subscriber", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - send_transactional_email≈ 286 tokens
Envía un correo transaccional 1-a-1 (cotización, recibo, bienvenida, recordatorio) a UNA dirección, usando una plantilla y variables. Síncrono. Requiere scope `send`.
Paramètres, retour & exemple (7)
Paramètressubject· string · optionnel
Asunto (opcional si la plantilla lo trae).to_email· string · requis
Correo del destinatario.from_name· string · optionnel
Nombre del remitente (opcional).html_body· string · optionnel
HTML libre (opcional, alternativa a template_id).variables· object · optionnel
Variables mustache {{var}} para rellenar la plantilla. Ej: {"first_name":"María"}.template_id· string · optionnel
ID de la plantilla en Postari (opcional si mandas subject+html_body).confirm_send· boolean · optionnel
Obligatorio en true para enviar de verdad (acción sensible: además la cuenta debe tener habilitados los envíos por agente). Sin él no se envía nada.
Exemple d'appel{"name": "send_transactional_email", "arguments": {"to_email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - set_campaign_audience≈ 286 tokens
Define A QUIÉN se le manda un correo y a quién NO: excluir por etiqueta, por lista entera o por haber recibido otra campaña. Devuelve el número REAL de destinatarios para confirmar antes de enviar. Si alguna referencia no existe, falla con 400 en vez de guardar a medias.
Paramètres, retour & exemple (6)
Paramètrescampaign_id· string · requisexclude_tags· array · optionnel
Fuera quien tenga estas etiquetas (nombre o UUID).include_tags· array · optionnel
Solo quien tenga estas etiquetas (nombre o UUID).exclude_lists· array · optionnel
Fuera los miembros de estas listas · "manda a A menos los de B".tag_on_delivery· string · optionnel
Etiqueta que se pone a quien RECIBA el correo, para poder excluirlo la próxima vez.exclude_campaigns· array · optionnel
Fuera quien ya recibió estas campañas · no repetir el envío.
Exemple d'appel{"name": "set_campaign_audience", "arguments": {"campaign_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tag_subscribers≈ 120 tokens
Añade o quita una etiqueta a varios contactos (por emails o contact_ids).
Paramètres, retour & exemple (4)
Paramètrestag· string · requis
Nombre de la etiqueta.emails· array · optionneloperation· string · optionnel · add | remove
add (default) o remove.contact_ids· array · optionnel
Exemple d'appel{"name": "tag_subscribers", "arguments": {"tag": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - test_flow≈ 117 tokens
Prueba una automatización enviándola de verdad a UN miembro de la cuenta (por defecto el dueño). Es OBLIGATORIO antes de armar. No se puede usar para mandar correo a terceros: to_email tiene que ser de un miembro.
Paramètres, retour & exemple (2)
Paramètresflow_id· string · requisto_email· string · optionnel
Correo de un miembro de la cuenta. Por defecto, el dueño.
Exemple d'appel{"name": "test_flow", "arguments": {"flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - trigger_flow≈ 102 tokens
Mete un contacto (por email o contact_id) en un flujo automático para que reciba esa secuencia.
Paramètres, retour & exemple (4)
Paramètresemail· string · optionnelflow_id· string · requis
ID del flujo.contact_id· string · optionneltrigger_data· object · optionnel
Exemple d'appel{"name": "trigger_flow", "arguments": {"flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_flow≈ 160 tokens
Edita una automatización: nombre, disparador, pasos (graph) o estado. NO sirve para armar (eso es arm_flow, que exige confirmación); sí para DESARMAR con armed:false.
Paramètres, retour & exemple (6)
Paramètresname· string · optionnelarmed· boolean · optionnel
Solo false (desarmar). Para armar usa arm_flow.graph· object · optionnelstatus· string · optionnel
draft | active | paused.flow_id· string · requistrigger_config· object · optionnel
Exemple d'appel{"name": "update_flow", "arguments": {"flow_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_flow_email≈ 142 tokens
Edita UN correo de una automatización (asunto, preheader, bloques o etiqueta) sin tocar el resto del flujo. Más seguro que reescribir el graph entero.
Paramètres, retour & exemple (6)
Paramètreslabel· string · optionnelblocks· array · optionnel
Bloques del correo.flow_id· string · requisnode_id· string · requissubject· string · optionnelpreheader· string · optionnel
Exemple d'appel{"name": "update_flow_email", "arguments": {"flow_id": "texte", "node_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_form≈ 142 tokens
Edita un formulario: título, campos, lista donde caen las altas, doble opt-in, mensaje de gracias o activarlo/desactivarlo.
Paramètres, retour & exemple (8)
Paramètresname· string · optionnelfields· array · optionnelform_id· string · requislist_id· string · optionnelis_active· boolean · optionneldouble_optin· boolean · optionnelredirect_url· string · optionnelthank_you_message· string · optionnel
Exemple d'appel{"name": "update_form", "arguments": {"form_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_landing≈ 151 tokens
Edita una página de aterrizaje: contenido, slug, formulario conectado o activarla/desactivarla. Cambiar el slug rompe la URL que ya se haya compartido (la respuesta avisa).
Paramètres, retour & exemple (8)
Paramètresname· string · optionnelslug· string · optionnelblocks· array · optionnelform_id· string · optionnelai_prompt· string · optionnelhtml_code· string · optionnelis_active· boolean · optionnellanding_id· string · requis
Exemple d'appel{"name": "update_landing", "arguments": {"landing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_subscriber≈ 226 tokens
Actualiza datos de un contacto existente (nombre, país, teléfono, etiquetas). Solo envía esos campos: no cambia su estado de suscripción. Para devolver a alguien que salió por un rebote usa reactivate_bounced_subscriber. Quien se dio de baja o marcó spam solo vuelve por decisión propia (centro de preferencias del pie de los correos); un agente no puede resuscribirlo: el PUT /api/v1/subscribers/{email} con confirmar_resuscripcion:true es solo para una persona con su llave, queda auditado y desde el puente MCP responde 403 resuscripcion_no_disponible_para_agentes.
Paramètres, retour & exemple (6)
Paramètrestags· array · optionnelemail· string · requisphone· string · optionnelcountry· string · optionnellast_name· string · optionnelfirst_name· string · optionnel
Exemple d'appel{"name": "update_subscriber", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».