Ir para o conteúdo

Validar, sandbox e publicar

O validador do runtime recusa o que não roda; o sandbox executa o rascunho de verdade; o publish promove a versão que vai ao ar.

Atualizado em 10 de ago. de 2026

Entre criar e ir para produção existem três degraus — todos por API:

  1. Validar: o workflow é checado pelo próprio runtime (grafo, campos de cada nó, modelos no catálogo).
  2. Sandbox: o rascunho roda de verdade, com "version": "draft" no /run — sem tocar a versão publicada.
  3. Publicar: o rascunho válido vira a versão que o /run, o widget e o A2A servem.

Validar sem salvar

POSThttps://agents.hinow.ai/v1/agents/validateBearer hi_SUA_API_KEY

Valida um workflow avulso (dry-run). Nada é criado nem alterado — ideal para CI ou para validar enquanto o usuário edita.

Parâmetros

  • workflowobject· bodyobrigatório

    O grafo `{nodes, edges}` a validar.

Respostas

200O relatório — mesmo quando inválido (a resposta é 200; o veredito está em `valid`).
{
  "valid": false,
  "errors": [
    {"code": "missing_start", "message": "workflow needs exactly one 'start' node"},
    {"code": "unknown_model", "message": "model 'gpt-4-fake' not found in the catalog (see GET https://api.hinow.ai/v1/models)"}
  ],
  "warnings": [
    {"code": "missing_end", "message": "no 'end' node: the run finishes at the first node without outgoing edges"}
  ]
}

Erros impedem salvar e publicar; warnings não bloqueiam — apontam comportamento provavelmente não intencional (nó inalcançável, ferramenta sem slot, if sem ramo false). Cada item traz um code estável, a mensagem e, quando faz sentido, o node_id.

Alguns codes de erroCausa
missing_start / multiple_startO fluxo precisa de exatamente um nó start.
unknown_node_typeTipo de nó que o runtime não conhece — a lista completa está em Cards do builder.
edge_source_missing / edge_target_missingEdge apontando para um id que não existe em nodes.
tool_needs_slot / flow_into_toolFerramenta ligada como se fosse fluxo — ela conecta no targetHandle: "slot-N" do agente.
if_no_condition / while_no_conditionNó de controle sem a condição que o move.
participants_missingDebate/votação/sequencial sem participantes (estáticos, dinâmicos ou conectados).
unknown_modelSlug de modelo fora do catálogo — confira em GET https://api.hinow.ai/v1/models.

Sandbox: rodar o rascunho

O mesmo /run de sempre, com um campo a mais. O rascunho executa de verdade — mesmas ferramentas, mesmos eventos, cobrança normal por inferência — mas a versão publicada continua intocada servindo produção.

curl -X POST https://agents.hinow.ai/v1/agents/SEU_AGENT_ID/run \
  -H "Authorization: Bearer hi_SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "teste do rascunho", "version": "draft", "stream": false}'

O sandbox valida o rascunho na hora: se ele foi quebrado depois (por exemplo, editando no builder), o /run com version: "draft" responde 422 com o relatório — em vez de executar algo que falharia no meio.

Publicar

POSThttps://agents.hinow.ai/v1/agents/{agent_id}/publishBearer hi_SUA_API_KEY

Revalida o rascunho e o promove a versão publicada. A troca é atômica: runs em andamento terminam na versão antiga; os próximos já pegam a nova.

Parâmetros

  • agent_iduuid· pathobrigatório

    O agent a publicar.

Respostas

200Publicado — `published_version` incrementa a cada publish.
{
  "agent": {
    "id": "ddfe14bd-4bfb-4d6a-83a0-4e907278ad10",
    "name": "Pesquisador Web",
    "status": "published",
    "published_version": 2,
    "published_at": "2026-08-10T10:24:13Z",
    "has_unpublished_changes": false
  }
}
400O agent não tem workflow de rascunho para publicar.
422O rascunho não passa no validador — o corpo traz o relatório. Nada muda no ar.

Depois de publicado, o rascunho continua livre: edite à vontade (has_unpublished_changes fica true), teste em sandbox e publique de novo quando estiver pronto. Produção só muda no publish.

Esta página foi útil?