Compilar, ativar e executar rotinas
Transforma texto em plano, ativa, pausa, executa uma rotina na hora e lista suas execuções.
Estas cinco rotas cobrem o ciclo depois da criação. compile é independente de qualquer rotina salva; as demais agem sobre uma rotina existente.
Compilar
Interpreta o texto e devolve o plano de passos que a VI executaria, sem salvar nada. Mostre o plano ao administrador antes de criar a rotina. Os passos usam apenas ações que a plataforma permite em rotinas.
/api/v1/admin/intelligence/routines/compileAdminCompilar texto em plano
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Content-Typestringobrigatórioapplication/json.Corpo da requisição
prompt_textstringobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/intelligence/routines/compile" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"prompt_text": "Todo dia às 8h me mande um resumo dos pedidos de ontem"
}'Resposta
{
"plan": [
{
"tool": "list_orders",
"params": { "limit": 50 },
"is_write": false,
"description": "Listar os pedidos mais recentes para identificar os de ontem."
},
{
"tool": "send_summary",
"params": { "text": "Resumo diário dos pedidos de ontem." },
"is_write": false,
"description": "Enviar ao lojista o resumo dos pedidos."
}
],
"warnings": []
}Campos da resposta
planarraytool, params, is_write, description.warningsarrayErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 400 | prompt_text vazio, corpo ilegível ou texto que não virou um plano válido. | {"error":"prompt_text required"} ou {"error":"compilação inválida: ..."} (devolvido em português) |
| 503 | Nenhum provedor de IA configurado. | {"error":"provedor de IA não configurado ..."} (devolvido em português) |
Ativar ou retomar
Coloca a rotina em active: a partir daí ela roda no horário. Esta chamada também guarda o seu token para as execuções agendadas: os passos que escrevem na loja rodam depois com as permissões de quem ativou. Uma rotina nova (draft) precisa passar por aqui.
/api/v1/admin/intelligence/routines/{id}/resumeAdminAtivar ou retomar
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/intelligence/routines/$ROUTINE_ID/resume" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "9ed7a252-c085-486a-8d0f-430a828e0681",
"user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
"name": "Relatório matutino",
"prompt_text": "Todo dia às 8h, resuma os pedidos de ontem",
"plan": [
{ "tool": "list_orders", "params": { "limit": 200 }, "is_write": false, "description": "Listar os pedidos de ontem." }
],
"schedule_kind": "daily",
"schedule_dow": null,
"schedule_dom": null,
"schedule_hour": 8,
"timezone": "America/Sao_Paulo",
"status": "active",
"require_approval": true,
"last_run_at": null
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 409 | Já há 20 rotinas ativas. | {"error":"intelligence: active routine limit reached (20)..."} |
| 400 | Rotina inexistente. | {"error":"sql: no rows in result set"} |
Pausar
Coloca a rotina em paused. Não apaga nada e pode ser retomada com resume.
/api/v1/admin/intelligence/routines/{id}/pauseAdminPausar uma rotina
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/intelligence/routines/$ROUTINE_ID/pause" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "9ed7a252-c085-486a-8d0f-430a828e0681",
"user_id": "d4613dde-ac7a-431c-9232-50d8cd6ad5fc",
"name": "Relatório matutino",
"prompt_text": "Todo dia às 8h, resuma os pedidos de ontem",
"plan": [
{ "tool": "list_orders", "params": { "limit": 200 }, "is_write": false, "description": "Listar os pedidos de ontem." }
],
"schedule_kind": "daily",
"schedule_dow": null,
"schedule_dom": null,
"schedule_hour": 8,
"timezone": "America/Sao_Paulo",
"status": "paused",
"require_approval": true,
"last_run_at": null
}Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 400 | Rotina inexistente. | {"error":"sql: no rows in result set"} |
Rodar agora
Executa a rotina uma vez, na hora, e devolve a execução. Funciona em qualquer estado (inclusive draft) e usa o seu token nos passos que escrevem. Se uma execução anterior ainda está em andamento, devolve uma execução skipped em vez de rodar em paralelo.
/api/v1/admin/intelligence/routines/{id}/runAdminRodar agora
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/intelligence/routines/$ROUTINE_ID/run" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "38a64aca-96eb-46bf-a832-ecea000bed08",
"routine_id": "9ed7a252-c085-486a-8d0f-430a828e0681",
"status": "completed",
"steps": [
{ "tool": "list_orders", "is_write": false, "status": "ok", "detail": "leitura executada (3541 bytes)" }
],
"summary": "Listar os pedidos de ontem.",
"error": null,
"started_at": "2026-10-11T21:07:50.627855Z",
"finished_at": "2026-10-11T21:07:51.715311Z"
}Campos da resposta
iduuidroutine_iduuidstatusstringrunningcompletedfailedwaiting_approvalskippedstepsarraytool, is_write, status (ok, skipped, failed ou waiting_approval) e detail.summarystringerrorstringstarted_atstringfinished_atstringwaiting_approval.Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 500 | Rotina inexistente ou falha ao iniciar a execução. | {"error":"..."} |
Listar execuções
Devolve as execuções da rotina, da mais recente para a mais antiga.
/api/v1/admin/intelligence/routines/{id}/runsAdminListar execuções
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um administrador (veja Tokens).Parâmetros de caminho
iduuidobrigatórioParâmetros de consulta
limitintegerpadrão: 50Exemplo de requisição
curl "$BASE_URL/api/v1/admin/intelligence/routines/$ROUTINE_ID/runs?limit=10" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"runs": [
{
"id": "38a64aca-96eb-46bf-a832-ecea000bed08",
"routine_id": "9ed7a252-c085-486a-8d0f-430a828e0681",
"status": "completed",
"steps": [
{ "tool": "list_orders", "is_write": false, "status": "ok", "detail": "leitura executada (3541 bytes)" }
],
"summary": "Listar os pedidos de ontem.",
"error": null,
"started_at": "2026-10-11T21:07:50.627855Z",
"finished_at": "2026-10-11T21:07:51.715311Z"
}
],
"total": 1
}Campos da resposta
runsarrayiduuidroutine_iduuidstatusstringrunningcompletedfailedwaiting_approvalskippedstepsarraytool, is_write, status (ok, skipped, failed ou waiting_approval) e detail.summarystringerrorstringstarted_atstringfinished_atstringwaiting_approval.totalintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido/expirado. | {"error":"missing authorization header"} ou {"error":"invalid or expired token"} |
| 403 | O administrador não tem nenhum dos privilégios exigidos. | {"error":"insufficient privileges","privilege_required_any":["intelligence_use_chat","manage_settings"]} |
| 500 | id com formato inválido. | {"error":"..."} |