Desarrolladores

Referencia de la API REST

Todo lo que puedes hacer en Huginnova, puedes hacerlo con la API: 79 endpoints en 20 módulos (51 de lectura, 28 de escritura). Los mismos datos están disponibles para agentes de IA a través de nuestro servidor MCP, y como tablas planas para Power BI y Looker Studio.

Conceptos básicos

URL base http://localhost:3000/api/v1. Crea las claves en Integraciones y API. Envíalas como Authorization: Bearer <key>. Las claves de acceso completo (hgn_live_…) pueden leer y modificar datos; las de solo lectura (hgn_read_…) solo pueden leer, y también pueden pasarse como ?key= en peticiones GET para herramientas de BI que no pueden enviar cabeceras.

Las respuestas son JSON: { "data": … } si todo va bien, { "error": { "code", "message" } } en caso contrario (400 petición no válida, 401 clave incorrecta, 402 sin plan activo, 403 límite del plan o clave de solo lectura, 404 no encontrado, 429 límite de peticiones superado). Los porcentajes son fracciones (0.42 = 42 %) con los límites de confianza del 95 % en low/high. Las listas se paginan con limit y offset. Límite: 120 peticiones por minuto y clave.

Motores de IA: chatgpt, perplexity, gemini, google_aio, google_ai_mode, claude. MCP: apunta Claude, Cursor o cualquier cliente MCP a http://localhost:3000/api/mcp con la misma clave (guía del MCP). Webhooks: consulta Integraciones.

Espacio de trabajo

Plan, límites y uso.

get/workspace

Obtener espacio de trabajo, plan, límites y uso

curl "http://localhost:3000/api/v1/workspace" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Proyectos

Marcas (proyectos): ajustes, mercado, motores de IA y muestreo.

get/projects

Listar proyectos

curl "http://localhost:3000/api/v1/projects" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projectsclave de acceso completoconsume créditos

Crear un proyecto

Crea una marca con competidores y prompts e inicia su primera ejecución de recogida (usa `startRun: false` para omitirla). Cuenta para los límites de marcas y prompts del plan.

curl -X POST "http://localhost:3000/api/v1/projects" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Holafly","domain":"holafly.com","country":"US","language":"en","engines":["chatgpt","perplexity","gemini","google_aio","google_ai_mode"],"samples":3,"cadence":"weekly","competitors":[{"name":"Airalo","domain":"airalo.com"}],"prompts":["best eSIM for Japan","Airalo alternatives"],"startRun":true}'
get/projects/{id}

Obtener un proyecto

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
patch/projects/{id}clave de acceso completo

Actualizar un proyecto

Cualquiera de name, domain, description, country, language, engines, samples, cadence, aliases.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X PATCH "http://localhost:3000/api/v1/projects/$ID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cadence":"daily","engines":["chatgpt","perplexity"]}'
del/projects/{id}clave de acceso completo

Eliminar un proyecto

Elimina la marca y todos sus datos. Irreversible.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X DELETE "http://localhost:3000/api/v1/projects/$ID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Competidores

Competidores que se siguen para cada marca.

get/projects/{id}/competitors

Listar competidores

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/competitors" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/competitorsclave de acceso completo

Añadir competidores

Un competidor, o varios con `competitors: [...]`. Las menciones en respuestas ya recogidas se vuelven a detectar al momento.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/competitors" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"competitors":[{"name":"Airalo","domain":"airalo.com","aliases":["Airalo eSIM"]}]}'
get/projects/{id}/competitors/{competitorId}

Obtener un competidor

ParámetroEnTipoDescripción
idrutastringId del proyecto
competitorIdrutastringcompetitorId
curl "http://localhost:3000/api/v1/projects/$ID/competitors/$COMPETITORID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
patch/projects/{id}/competitors/{competitorId}clave de acceso completo

Actualizar un competidor

ParámetroEnTipoDescripción
idrutastringId del proyecto
competitorIdrutastringcompetitorId
curl -X PATCH "http://localhost:3000/api/v1/projects/$ID/competitors/$COMPETITORID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"airalo.com","aliases":["Airalo"]}'
del/projects/{id}/competitors/{competitorId}clave de acceso completo

Quitar un competidor

ParámetroEnTipoDescripción
idrutastringId del proyecto
competitorIdrutastringcompetitorId
curl -X DELETE "http://localhost:3000/api/v1/projects/$ID/competitors/$COMPETITORID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Prompts

Las preguntas que se hacen a cada motor de IA.

get/projects/{id}/prompts

Listar prompts con su visibilidad

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/prompts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/promptsclave de acceso completo

Añadir prompts

Se omiten los prompts que ya se siguen (mismo texto, sin distinguir mayúsculas). Cuenta para el límite de prompts activos del plan.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/prompts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompts":["best eSIM for Europe"],"tags":["comparison"]}'
get/projects/{id}/prompts/{promptId}

Obtener un prompt

ParámetroEnTipoDescripción
idrutastringId del proyecto
promptIdrutastringpromptId
curl "http://localhost:3000/api/v1/projects/$ID/prompts/$PROMPTID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
patch/projects/{id}/prompts/{promptId}clave de acceso completo

Actualizar un prompt

Pausar o reanudar (`active`), cambiar etiquetas o editar. Reanudar cuenta para el límite de prompts activos del plan.

ParámetroEnTipoDescripción
idrutastringId del proyecto
promptIdrutastringpromptId
curl -X PATCH "http://localhost:3000/api/v1/projects/$ID/prompts/$PROMPTID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active":false,"tags":["pricing"]}'
del/projects/{id}/prompts/{promptId}clave de acceso completo

Eliminar un prompt

También elimina sus respuestas.

ParámetroEnTipoDescripción
idrutastringId del proyecto
promptIdrutastringpromptId
curl -X DELETE "http://localhost:3000/api/v1/projects/$ID/prompts/$PROMPTID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/tags

Listar etiquetas de prompts con recuentos

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/tags" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Ejecuciones

Ejecuciones de recogida: cada prompt × motor de IA × muestra.

get/projects/{id}/runs

Listar ejecuciones con su progreso

ParámetroEnTipoDescripción
idrutastringId del proyecto
limitconsultaintegerMáximo de elementos que devolver · por defecto 20
offsetconsultaintegerElementos que saltar, para paginar · por defecto 0
curl "http://localhost:3000/api/v1/projects/$ID/runs" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/runs/{runId}

Obtener una ejecución

Progreso por motor de IA.

ParámetroEnTipoDescripción
idrutastringId del proyecto
runIdrutastringrunId
curl "http://localhost:3000/api/v1/projects/$ID/runs/$RUNID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Métricas

Visibilidad con intervalos de confianza del 95 %, cuota de voz, posición y sentimiento.

get/projects/{id}/metrics

Resumen de visibilidad

Marca y competidores con IC del 95 %, cambio frente al periodo anterior (con valor p) y visibilidad por motor de IA.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
engineconsultachatgpt | perplexity | gemini | google_aio | google_ai_mode | claudeSolo este motor de IA
curl "http://localhost:3000/api/v1/projects/$ID/metrics" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/metrics/timeseries

Visibilidad por ejecución

Un punto por ejecución con la visibilidad de cada marca, más las acciones completadas como anotaciones.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 90
engineconsultachatgpt | perplexity | gemini | google_aio | google_ai_mode | claudeSolo este motor de IA
tagconsultastringSolo prompts con esta etiqueta
curl "http://localhost:3000/api/v1/projects/$ID/metrics/timeseries" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/metrics/engines

Visibilidad por motor de IA

Marca y competidores en cada motor de IA, con la significación del cambio.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
tagconsultastringSolo prompts con esta etiqueta
curl "http://localhost:3000/api/v1/projects/$ID/metrics/engines" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/metrics/prompts

Visibilidad por prompt

Tu visibilidad por prompt, el competidor que lidera y la diferencia.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
engineconsultachatgpt | perplexity | gemini | google_aio | google_ai_mode | claudeSolo este motor de IA
tagconsultastringSolo prompts con esta etiqueta
curl "http://localhost:3000/api/v1/projects/$ID/metrics/prompts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Respuestas

Las respuestas de IA tal cual, con las marcas que nombran y las fuentes que citan.

get/projects/{id}/answers

Listar respuestas

Las más recientes primero, con las marcas mencionadas (en orden) y las fuentes citadas.

ParámetroEnTipoDescripción
idrutastringId del proyecto
limitconsultaintegerMáximo de elementos que devolver · por defecto 50
offsetconsultaintegerElementos que saltar, para paginar · por defecto 0
engineconsultachatgpt | perplexity | gemini | google_aio | google_ai_mode | claudeSolo este motor de IA
prompt_idconsultastringSolo respuestas a este prompt
daysconsultaintegerSolo respuestas de los últimos N días
mentionedconsultabooleantrue: solo respuestas que mencionan la marca; false: solo las que no
curl "http://localhost:3000/api/v1/projects/$ID/answers" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/answers/{answerId}

Obtener una respuesta

Texto completo, menciones con fragmentos y sentimiento, citas, query fan-out, productos de shopping, anuncios y resultados locales.

ParámetroEnTipoDescripción
idrutastringId del proyecto
answerIdrutastringanswerId
curl "http://localhost:3000/api/v1/projects/$ID/answers/$ANSWERID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Fuentes

Dominios y páginas que cita la IA, y dónde no apareces.

get/projects/{id}/citations

Dominios más citados

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/citations" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/citations/urls

Páginas más citadas

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
limitconsultaintegerMáximo de elementos que devolver · por defecto 50
curl "http://localhost:3000/api/v1/projects/$ID/citations/urls" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/citations/gaps

Fuentes donde no apareces

Dominios de terceros que la IA cita en respuestas que no te mencionan, ordenados por respuestas perdidas.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/citations/gaps" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Descubrimiento

Marcas que recomienda la IA y que aún no sigues.

get/projects/{id}/discovered-brands

Marcas no seguidas que recomienda la IA

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
limitconsultaintegerMáximo de elementos que devolver · por defecto 25
curl "http://localhost:3000/api/v1/projects/$ID/discovered-brands" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/discovered-brands/trackclave de acceso completo

Seguir una marca descubierta

La añade como competidor y vuelve a detectar sus menciones en las respuestas recogidas.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/discovered-brands/track" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Saily"}'
post/projects/{id}/discovered-brands/ignoreclave de acceso completo

Ignorar una marca descubierta

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/discovered-brands/ignore" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Google Fi"}'

Plan de acción

Acciones basadas en datos y su impacto medido antes/después.

get/projects/{id}/actions

Listar acciones

ParámetroEnTipoDescripción
idrutastringId del proyecto
statusconsultatodo | doing | done | dismissedFiltrar por estado
curl "http://localhost:3000/api/v1/projects/$ID/actions" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/actionsclave de acceso completo

Añadir una acción

Una acción tuya. Vincula prompts con `promptIds` para medir su impacto en ellos.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/actions" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"content","title":"Publish Japan eSIM comparison","detail":"Table with price per GB and carriers.","priority":1,"promptIds":[]}'
post/projects/{id}/actions/generateclave de acceso completo

Regenerar el plan

Crea acciones nuevas a partir de las respuestas de los últimos 30 días. Nunca duplica las existentes.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/actions/generate" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/actions/{actionId}

Obtener una acción con su impacto

ParámetroEnTipoDescripción
idrutastringId del proyecto
actionIdrutastringactionId
curl "http://localhost:3000/api/v1/projects/$ID/actions/$ACTIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
patch/projects/{id}/actions/{actionId}clave de acceso completo

Actualizar una acción

`status: "done"` registra la fecha de finalización con la que empieza la ventana antes/después.

ParámetroEnTipoDescripción
idrutastringId del proyecto
actionIdrutastringactionId
curl -X PATCH "http://localhost:3000/api/v1/projects/$ID/actions/$ACTIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"done"}'
del/projects/{id}/actions/{actionId}clave de acceso completo

Eliminar una acción

ParámetroEnTipoDescripción
idrutastringId del proyecto
actionIdrutastringactionId
curl -X DELETE "http://localhost:3000/api/v1/projects/$ID/actions/$ACTIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/actions/{actionId}/impact

Impacto medido

Visibilidad antes frente a después de completarse en los prompts objetivo, con una prueba z de dos proporciones.

ParámetroEnTipoDescripción
idrutastringId del proyecto
actionIdrutastringactionId
windowconsultaintegerDías antes y después de completarse · por defecto 28
curl "http://localhost:3000/api/v1/projects/$ID/actions/$ACTIONID/impact" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/audit

Auditoría de preparación para IA (la más reciente)

La auditoría más reciente de la web de la marca tal como la ven los rastreadores de IA: acceso por robots.txt y firewall, contenido renderizado sin JavaScript, noindex, canonicals, velocidad, títulos, datos estructurados, actualidad, sitemap y llms.txt, por página, con una puntuación y un borrador de llms.txt. null si aún no hay ninguna.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/audit" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/auditclave de acceso completo

Ejecutar una auditoría de preparación para IA

Audita la web ahora (peticiones normales al sitio, sin coste de IA) y actualiza el plan de acción: los problemas nuevos se convierten en acciones y los resueltos se cierran.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/audit" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Reputación

Cómo describe la IA la marca, con puntuación y citas textuales.

get/projects/{id}/reputation

Último análisis de reputación

Puntuaciones, puntos fuertes, puntos débiles y afirmaciones inexactas con citas textuales, tono por ejecución y las menciones más negativas.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/reputation" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/reputation/history

Historial de la puntuación de reputación

ParámetroEnTipoDescripción
idrutastringId del proyecto
limitconsultaintegerMáximo de elementos que devolver · por defecto 20
curl "http://localhost:3000/api/v1/projects/$ID/reputation/history" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/reputation/regenerateclave de acceso completoconsume créditos

Volver a analizar la reputación

Sobre la última ejecución completada. Limitado por marca y día.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/reputation/regenerate" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/reputation/actionsclave de acceso completo

Convertir un hallazgo en una acción

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/reputation/actions" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"inaccuracy","index":0}'

Señales

Query fan-out, ChatGPT Shopping, anuncios, resultados locales, entidades, Reddit y YouTube.

get/projects/{id}/signals

Resumen de señales

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/fan-out

Query fan-out

Las búsquedas que hicieron los motores de IA detrás de tus prompts.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/fan-out" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/shopping

Productos y comercios de ChatGPT Shopping

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/shopping" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/ads

Anuncios mostrados en las respuestas

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/ads" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/entities

Entidades de marca reconocidas en las respuestas

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/entities" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/community

Fuentes de Reddit y YouTube

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/community" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/signals/local

Negocios locales en las respuestas

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/signals/local" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

GEO Writer

Oportunidades y borradores de contenido basados en las páginas que cita la IA.

get/projects/{id}/geo/opportunities

Oportunidades de optimización

Prompts ordenados por la diferencia con el competidor que lidera, con la página que optimizar.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/geo/opportunities" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/geo/drafts

Listar borradores

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl "http://localhost:3000/api/v1/projects/$ID/geo/drafts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/geo/draftsclave de acceso completoconsume créditos

Crear un borrador

Analiza las respuestas, las páginas que cita la IA en lugar de la tuya y tu página, y después redacta el contenido. Tarda 1–2 minutos. Limitado por espacio de trabajo y día.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/geo/drafts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"promptId":"…","targetUrl":"https://holafly.com/esim-japan"}'
get/projects/{id}/geo/drafts/{draftId}

Obtener un borrador

ParámetroEnTipoDescripción
idrutastringId del proyecto
draftIdrutastringdraftId
curl "http://localhost:3000/api/v1/projects/$ID/geo/drafts/$DRAFTID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/geo/drafts/{draftId}/actionclave de acceso completo

Añadir un borrador al plan de acción

ParámetroEnTipoDescripción
idrutastringId del proyecto
draftIdrutastringdraftId
curl -X POST "http://localhost:3000/api/v1/projects/$ID/geo/drafts/$DRAFTID/action" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Tráfico

Visitas que los asistentes de IA envían a tu web, e importaciones de GA4.

get/projects/{id}/traffic

Resumen del tráfico de referencia desde IA

Sesiones y conversiones por motor de IA de una sola fuente de datos (primero el snippet, después las importaciones de analítica), las fuentes disponibles y el snippet de seguimiento.

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/traffic" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/traffic/daily

Sesiones desde IA por día

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/traffic/daily" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/traffic/pages

Principales páginas de destino desde IA

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/traffic/pages" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/traffic/ga4clave de acceso completo

Importar un CSV de GA4

El cuerpo es una exportación de GA4 con las columnas Date, Session source y Sessions. Se omiten las filas que no son de IA; volver a importar las mismas fechas las sustituye.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/traffic/ga4" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: text/csv" \
  --data-binary @export.csv

Rastreadores

Actividad de bots de IA a partir de los registros de tu servidor o CDN.

get/projects/{id}/bots

Resumen de rastreadores de IA

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/bots" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/bots/by-bot

Visitas por rastreador

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/bots/by-bot" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/projects/{id}/bots/pages

Páginas más rastreadas

ParámetroEnTipoDescripción
idrutastringId del proyecto
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 30
curl "http://localhost:3000/api/v1/projects/$ID/bots/pages" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Alertas

Alertas generadas después de las ejecuciones.

get/alerts

Listar alertas

ParámetroEnTipoDescripción
unreadconsultabooleanSolo alertas no leídas
project_idconsultastringSolo este proyecto
limitconsultaintegerMáximo de elementos que devolver · por defecto 100
curl "http://localhost:3000/api/v1/alerts" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/alerts/{alertId}/readclave de acceso completo

Marcar una alerta como leída

ParámetroEnTipoDescripción
alertIdrutastringalertId
curl -X POST "http://localhost:3000/api/v1/alerts/$ALERTID/read" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/alerts/read-allclave de acceso completo

Marcar todas las alertas como leídas

ParámetroEnTipoDescripción
project_idconsultastringSolo este proyecto
curl -X POST "http://localhost:3000/api/v1/alerts/read-all" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Integraciones

Notificaciones por email, Slack y webhooks firmados.

get/integrations

Listar integraciones

curl "http://localhost:3000/api/v1/integrations" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/integrationsclave de acceso completo

Añadir una integración

Email, incoming webhook de Slack o webhook https. Los webhooks devuelven un `secret` de firma una sola vez; cada envío lleva `X-Huginnova-Signature: sha256=<hmac>`.

curl -X POST "http://localhost:3000/api/v1/integrations" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"webhook","target":"https://hooks.zapier.com/hooks/catch/…","events":["alert.created","run.completed"]}'
get/integrations/{integrationId}

Obtener una integración

ParámetroEnTipoDescripción
integrationIdrutastringintegrationId
curl "http://localhost:3000/api/v1/integrations/$INTEGRATIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
patch/integrations/{integrationId}clave de acceso completo

Actualizar una integración

ParámetroEnTipoDescripción
integrationIdrutastringintegrationId
curl -X PATCH "http://localhost:3000/api/v1/integrations/$INTEGRATIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":false}'
del/integrations/{integrationId}clave de acceso completo

Eliminar una integración

ParámetroEnTipoDescripción
integrationIdrutastringintegrationId
curl -X DELETE "http://localhost:3000/api/v1/integrations/$INTEGRATIONID" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/integrations/{integrationId}/testclave de acceso completo

Enviar una notificación de prueba

ParámetroEnTipoDescripción
integrationIdrutastringintegrationId
curl -X POST "http://localhost:3000/api/v1/integrations/$INTEGRATIONID/test" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Exportaciones e informes

Exportaciones CSV y enlaces a informes de marca blanca para clientes.

get/projects/{id}/export/{file}

Descargar una exportación CSV

`file` es uno de answers.csv, prompts.csv, citations.csv, metrics.csv.

ParámetroEnTipoDescripción
idrutastringId del proyecto
filerutastringfile
curl "http://localhost:3000/api/v1/projects/$ID/export/answers.csv" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
post/projects/{id}/share-linkclave de acceso completo

Cambiar el enlace del informe para clientes

El enlace anterior deja de funcionar al momento.

ParámetroEnTipoDescripción
idrutastringId del proyecto
curl -X POST "http://localhost:3000/api/v1/projects/$ID/share-link" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

BI

Tablas planas para Power BI, Looker Studio, Google Sheets y Excel, en JSON o CSV.

get/bi

Listar conjuntos de datos de BI

Cada tabla plana con sus columnas y URL de JSON y CSV listas para usar.

curl "http://localhost:3000/api/v1/bi" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"
get/bi/{dataset}

Obtener un conjunto de datos de BI

Una fila por día/marca/motor de IA (o por prompt, fuente, página…) de todas las marcas del espacio de trabajo. Apunta Power BI (Obtener datos → Web) o Google Sheets (IMPORTDATA) a la URL del CSV con una clave de solo lectura.

ParámetroEnTipoDescripción
datasetrutastringdataset
projectconsultastringUn id de proyecto, o `all` (por defecto) · por defecto all
daysconsultaintegerPeriodo hacia atrás, en días · por defecto 90
formatconsultajson | csvFormato de respuesta · por defecto json
curl "http://localhost:3000/api/v1/bi/visibility" \
  -H "Authorization: Bearer $HUGINNOVA_API_KEY"

Meta

Índice de la API y esta especificación.

get/sin clave

Índice de la API

Todos los endpoints con una descripción de una línea.

curl "http://localhost:3000/api/v1"
get/openapi.jsonsin clave

Especificación OpenAPI 3.1

curl "http://localhost:3000/api/v1/openapi.json"

¿Tienes preguntas o necesitas un endpoint que no tenemos? Contáctanos.