API da plataforma e tokens de acesso
Cada ação do app é uma rota da API da plataforma: listar execuções, atualizar um script, pausar um agendamento, rodar um flow. Fora do Waiso você a chama em https://waiso.dev/api (numa instalação auto-hospedada, <endereço do seu Waiso>/api) com um token de acesso. Dentro de um script as mesmas chamadas são a biblioteca waiso.api, já autenticada como quem iniciou a execução. Todas as rotas, com parâmetros e exemplos, estão na referência da API.
- Criar um token de acesso com exatamente o acesso necessário
- Chamar a API por HTTP e ler os erros dela
- Usar as mesmas chamadas dentro de um script como waiso.api
Uma API, três entradas
| De onde | Como se autentica | O que pode fazer |
|---|---|---|
| HTTP (curl, CI, outro sistema) | Um token de acesso: Authorization: Bearer waiso_at_… | O que o escopo do token permite, nunca mais do que o dono pode fazer agora. |
Um script no Waiso (waiso.api) | Nada a configurar: é a identidade da própria execução. | O que a pessoa (ou o token) que iniciou a execução pode fazer. |
| Um agente de IA (MCP, Code Mode) | O mesmo token de acesso. | O mesmo escopo, pelas ferramentas MCP ou por um programa. |
O escopo vale por projeto e por área. Um token em Editar em Scripts e Ler em Execuções pode atualizar um script e listar execuções, e nada mais; o mesmo token num projeto que não recebeu responde como se o projeto não existisse. E, diga o que disser o escopo, o token também é limitado pelo que o dono pode fazer agora: se um admin reduz o acesso do dono, todos os tokens dessa pessoa se estreitam na hora.
Crie um token de acesso
- Abra Tokens de acesso
Abra Configurações → Tokens de acesso e clique em Novo token.
- Escolha o que ele alcança
Ligue cada projeto que ele pode alcançar, em Ler, Editar ou Excluir — ou abra Personalizar áreas para dar a cada área (Scripts, Flows, Execuções, Agendamentos…) o próprio nível, ou nenhum.
- Defina quando expira
Escolha uma validade, ou nunca. Ele aparece uma vez: copie agora. A lista depois mostra os primeiros caracteres, quando foi usado por último e quantas chamadas fez.
Revogue um token na mesma lista: a próxima chamada com ele é recusada. Admins veem todos os tokens do workspace em Todos os tokens.
Chame por HTTP
curl -H "Authorization: Bearer $WAISO_TOKEN" \
"https://waiso.dev/api/projects/$PROJECT_ID/runs?status=failed&limit=5"| Resposta | Significa |
|---|---|
401 unauthenticated | Sem token, desconhecido, revogado ou expirado. |
403 token_not_allowed | Uma rota que só uma pessoa logada pode chamar. |
403 access_denied | Falta ao token (ou ao dono) o nível da área; a resposta diz area, have e need. |
404 not_found | Um projeto que o token não alcança responde como um que não existe. |
429 rate_limited | Mais de 600 chamadas por minuto com este token; Retry-After diz quando. |
As mesmas chamadas dentro de um script
Num script, waiso.api não precisa de token nem de endereço: age como quem iniciou a execução (o dono do projeto em agendamentos e endpoints), e uma chamada que não diz o projeto age no do próprio script.
import waiso
def main():
failed = waiso.api.runs.list(status="failed", limit=20)["items"]
for run in failed:
waiso.api.runs.cancel(run["id"]) if run["status"] == "running" else None
return {"failed": len(failed)}