Traducción automática
Esta página fue traducida por IA. La versión en inglés es la versión autorizada.
Seguimiento y ejecuciones¶
Cambiar lo que Hi, Moose sigue requiere el permiso gestionar el seguimiento. Iniciar una ejecución requiere el permiso iniciar ejecuciones. Ambos se eligen al crear la clave; consulta Claves y autenticación.
El ordenador anfitrión¶
Hi, Moose ejecuta parte del seguimiento en uno de tus propios ordenadores, el dispositivo anfitrión, que eliges en Hi, Moose en Ajustes → Hi, Moose MCP. Los motores de captura local (ChatGPT, Gemini, Grok, Perplexity y Google AI Mode consultados a través de un navegador) solo se ejecutan ahí, y su programación vive ahí.
Cada cambio en el seguimiento y cada ejecución por la API necesita un dispositivo anfitrión elegido para el proyecto. Sin él, la API responde 409 host_required y nombra el ajuste que hay que cambiar. Un proyecto creado por la API toma el dispositivo anfitrión de otro proyecto de la cuenta cuando existe uno.
Tras un cambio en el seguimiento, la API entrega al ordenador anfitrión un trabajo breve para recoger los ajustes nuevos. El anfitrión lo hace en menos de un minuto mientras Hi, Moose está abierto ahí, o la próxima vez que se abra. En cualquier caso, las lecturas muestran los ajustes nuevos de inmediato.
En los planes con clave propia, los prompts, motores y programación se guardan en el ordenador anfitrión y no en la nube. La API puede leerlos e iniciar ejecuciones, pero cambiarlos responde 409 byok_not_supported. Gestiónalos en Hi, Moose en ese ordenador.
GET /projects/{id}/capabilities te lo dice antes de escribir: el plan, los motores y cadencias permitidos, los límites, el ordenador anfitrión y si está en línea, y si una ejecución podría empezar ahora.
Gestionar el seguimiento¶
| Endpoint | Qué hace |
|---|---|
POST /projects | Crear un proyecto a partir de un nombre y una dirección web, con términos de marca y dominios opcionales. El rastreo del sitio no se inicia; el ordenador anfitrión activa el rastreo semanal programado para que ocurra más tarde. Brand Truth no es necesario. |
PATCH /projects/{id} | Cambiar el nombre, la dirección web, los términos de marca o los dominios de marca |
PUT /projects/{id}/competitors | Reemplazar la lista de competidores seguidos, como máximo 50 |
POST /projects/{id}/prompts | Añadir un prompt con ids de tema e ids de motor opcionales |
PATCH /projects/{id}/prompts/{promptId} | Cambiar el texto, los temas o los motores de un prompt, o reanudar uno en pausa |
DELETE /projects/{id}/prompts/{promptId} | Dejar de seguir un prompt. Sus respuestas guardadas se conservan. |
PUT /projects/{id}/tracking | Definir los motores por defecto, cadencia, hora, día de la semana, zona horaria y muestras por prompt |
Cada escritura respeta los límites del plan: número de prompts, motores permitidos, cadencias permitidas, número de proyectos y de competidores. Por encima de un límite la API responde 409 plan_limit con el límite en el cuerpo.
Motores en los prompts¶
Cada prompt tiene su propia lista de motores. PUT /projects/{id}/tracking con engineIds define el valor por defecto para los prompts que se añadan después y deja cada prompt existente como está. Para cambiar los motores de los prompts existentes, envía applyEnginesToPrompts: true en la misma llamada, que aplica la lista nueva a todos los prompts del proyecto, o cambia los prompts de uno en uno con PATCH /projects/{id}/prompts/{promptId}.
Un prompt sin motores se conserva pero se omite en las ejecuciones. POST /projects/{id}/prompts sin engineIds da al prompt nuevo los motores por defecto del proyecto.
Reemplazar significa reemplazar¶
PUT /projects/{id}/competitors reemplaza la lista entera. Envía la lista completa que quieres conservar, no solo las adiciones. Una lista vacía elimina todos los competidores. Lo mismo vale para brandTerms y brandDomains en PATCH /projects/{id}.
Ejemplo: configurar el seguimiento en un proyecto nuevo¶
curl -X POST https://api.himoose.com/v1/projects \
-H "Authorization: Bearer hmk_live_..." -H "Content-Type: application/json" \
-d '{"name":"Acme","websiteUrl":"https://acme.example","brandTerms":["Acme Cloud"]}'
curl -X PUT https://api.himoose.com/v1/projects/PROJECT_ID/tracking \
-H "Authorization: Bearer hmk_live_..." -H "Content-Type: application/json" \
-d '{"engineIds":["chatgpt","gemini"],"cadence":"daily","timeOfDay":"09:00","timezone":"America/Chicago"}'
curl -X POST https://api.himoose.com/v1/projects/PROJECT_ID/prompts \
-H "Authorization: Bearer hmk_live_..." -H "Content-Type: application/json" \
-d '{"text":"What are the best SAST tools?","topicIds":["sast"]}'
curl -X PUT https://api.himoose.com/v1/projects/PROJECT_ID/competitors \
-H "Authorization: Bearer hmk_live_..." -H "Content-Type: application/json" \
-d '[{"name":"Competitor One","domain":"competitor-one.example"},{"name":"Competitor Two","domain":"competitor-two.example"}]'
Definir los motores antes de añadir prompts hace que cada prompt nuevo los reciba por defecto.
Programación¶
| Campo | Valores |
|---|---|
cadence | manual (programación desactivada), daily, weekdays, weekly |
timeOfDay | HH:MM en la zona horaria del proyecto |
weeklyDay | De monday a sunday, usado por weekly |
timezone | Un nombre IANA como Europe/Berlin |
samplesPerPrompt | Cuántas veces se consulta cada prompt por motor en una ejecución. Más muestras gastan más saldo. |
El plan decide qué cadencias están permitidas; el endpoint capabilities las lista.
Iniciar una ejecución¶
curl -X POST https://api.himoose.com/v1/projects/PROJECT_ID/run-requests \
-H "Authorization: Bearer hmk_live_..." -H "Idempotency-Key: nightly-2026-10-12"
La API responde 202 Accepted con una solicitud de ejecución y una cabecera Location para consultar:
{
"id": "NKxlhmW52Pkc2QwVD4oP",
"status": "queued",
"mode": "host",
"createdAt": "2026-10-15T03:39:56.404Z",
"updatedAt": "2026-10-15T03:39:56.404Z",
"completedAt": null,
"runIds": [],
"promptCount": 5,
"estimatedUnits": 0,
"warning": null,
"error": null,
"host": { "online": true, "lastSeenAt": "2026-10-15T03:39:20.475Z" }
}
| Estado | Significado |
|---|---|
queued | Aceptada y a punto de empezar |
waiting_for_host | El ordenador anfitrión está apagado. Hi, Moose guarda la solicitud hasta 24 horas e inicia la ejecución cuando vuelve. La respuesta lleva un warning que lo indica. |
running | En curso |
completed | Terminada. runIds lista las ejecuciones para pasar a los endpoints runs y answers. |
failed | No terminó. error.code dice por qué, por ejemplo host_unavailable tras 24 horas. |
canceled | Detenida desde Hi, Moose antes de terminar |
mode indica dónde se ejecuta. Los proyectos cuyos motores seguidos son todos motores en la nube se ejecutan en la nube de inmediato, sin el ordenador anfitrión. Cualquier motor de captura local hace que la ejecución pase al ordenador anfitrión, por el mismo camino que el botón Ejecutar ahora. En ambos casos el proyecto necesita un ordenador anfitrión elegido.
Salvaguardas¶
Para que una ejecución nunca cueste más de lo esperado:
- Primero, el saldo. La API estima el coste de la ejecución en motores en la nube a partir del número de prompts y motores. Si la estimación supera el saldo restante, rechaza con
409 insufficient_allowance, la estimación y las unidades restantes. No se gasta nada.GET /projects/{id}/capabilitiesmuestra la misma estimación comoallowance.estimatedUnitsPerRun. - De una en una. Una segunda solicitud mientras otra está en cola, en espera o en curso responde
409 run_in_progresscon el id de la solicitud activa. - Límite diario. Como máximo 24 solicitudes de ejecución por proyecto y día. Por encima, la API responde
429 daily_run_limit. - Idempotencia. Envía una cabecera
Idempotency-Keyy un reintento dentro de 24 horas devuelve la misma solicitud con200yreplayed: trueen lugar de iniciar otra ejecución. - Algo que ejecutar. Un proyecto sin ningún prompt que tenga un motor responde
409 no_prompts.
Seguir una ejecución¶
Consulta GET /projects/{id}/run-requests/{requestId} más o menos una vez por minuto. Una ejecución puede tardar desde unos minutos hasta más de una hora con conjuntos de prompts grandes. Cuando status es completed, runIds tiene la ejecución que leer:
curl "https://api.himoose.com/v1/projects/PROJECT_ID/answers?runId=RUN_ID" \
-H "Authorization: Bearer hmk_live_..."
Para evitar consultar en bucle, registra un webhook. El evento run.completed lleva requestId, así que puedes relacionarlo con la solicitud que hiciste.
Las ejecuciones iniciadas por la API aparecen en Hi, Moose como cualquier otra ejecución, y en la tabla Trabajos recientes de agentes en Ajustes → Hi, Moose MCP con la etiqueta de la clave.