API + MCP

Tu agente escribe.
Content Hub publica.

Conecta n8n, Make, Claude o tu propio código y publica con la voz editorial de tu organización: la nota queda en tu sitio web (WordPress, Shopify y más) y en tus redes — no solo en las redes, que es donde se quedan las demás herramientas.

Empieza en 3 pasos

  1. 1 · Crea tu API key

    En Administración → API y agentes (plan Pro o superior). La key se muestra una sola vez: guárdala.

  2. 2 · Verifícala

    curl https://contenthub.cl/api/v1/me \
      -H "Authorization: Bearer chk_TU_KEY"
  3. 3 · Publica tu primera nota

    curl -X POST https://contenthub.cl/api/v1/notes \
      -H "Authorization: Bearer chk_TU_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://tu-fuente.com/articulo",
        "publish": { "web": true, "channels": ["facebook", "instagram"] }
      }'
    # → 202 { "job_id": "…", "poll": "/api/v1/notes/…" }

    La nota se scrapea, se reescribe con tu voz editorial (agentes, brief de marca, reglas por fuente) y se publica. El trabajo es asíncrono: consulta el estado en GET /api/v1/notes/{job_id}.

Servidor MCP: para agentes, sin código

Content Hub es un servidor MCP (Model Context Protocol): Claude, n8n o cualquier cliente MCP usa estas herramientas de forma nativa.

publish_articleDe una URL o un texto a nota publicada en la web y redes, con la voz del medio
create_social_postPost suelto a Facebook, Instagram o X — inmediato o programado
list_channelsQué canales tiene conectados la organización
get_article_statusEstado de un trabajo de publicación

Claude (conector personalizado o Claude Code)

claude mcp add --transport http contenthub \
  https://contenthub.cl/api/v1/mcp \
  --header "Authorization: Bearer chk_TU_KEY"

n8n (nodo MCP Client) o cualquier cliente

Configuración del servidor
URL:       https://contenthub.cl/api/v1/mcp
Transporte: HTTP (Streamable)
Header:     Authorization: Bearer chk_TU_KEY

En n8n: agrega el nodo MCP Client Tool a tu agente con esa URL y el header. En Make u otras plataformas sin cliente MCP, usa la API REST con el módulo HTTP.

API REST

POST /api/v1/notes — nota completa (asíncrono, 202 + job_id)
{
  "url": "https://fuente.com/articulo",   // o "title" + "content"
  "genero": "opinion",                     // opcional: activa el flujo de columna
  "author": { "name": "…", "role": "…" },  // opcional: columnista
  "generate": true,                        // false = publica tal cual
  "publish": { "web": true, "channels": ["facebook", "instagram", "twitter"] },
  "schedule_at": "2026-09-20T12:00:00Z"    // opcional: programa
}
POST /api/v1/social-posts — post suelto (síncrono)
{
  "caption": "Texto del post…",
  "image_url": "https://…/foto.jpg",       // obligatorio para Instagram
  "channels": ["facebook", "instagram"],
  "schedule_at": null                      // o ISO 8601 para programar
}
GET /api/v1/channels — canales conectados
{
  "web": { "connected": true, "cms_type": "wordpress" },
  "social": [ { "platform": "instagram", "name": "@tumarca", "active": true } ]
}

Spec completo: /api/v1/openapi.json

Webhooks

Recibe un aviso firmado en tu servidor cuando note.published (se publicó una nota — desde el editor, programadas, autopilot o la API) o job.finished (terminó un trabajo de la API). Se configuran en el mismo panel de keys (plan Business).

Entrega — verifica la firma con tu secret whsec_
POST https://tu-servidor.com/webhooks/contenthub
X-ContentHub-Event: note.published
X-ContentHub-Signature: sha256=<HMAC-SHA256 del body con tu secret>
X-ContentHub-Delivery: <uuid>

{
  "event": "note.published",
  "created_at": "2026-09-14T18:00:00Z",
  "organization_id": "…",
  "data": { "publication_id": "…", "titulo": "…", "article_url": "…" }
}

Responde 2xx en menos de 10 s; si no, se reintenta una vez a los 5 s.

Límites y seguridad

Publica desde tu agente en 5 minutos

Crea tu cuenta, conecta tus canales y genera tu API key. La voz editorial de tu marca la configuras una vez.

Empieza gratis