/api/guardrail/*. Esta página é a referência da api de guardrail rota a
rota: cada endpoint, o papel de workspace que ele exige e a autenticação que ele
espera.
Para o que um guardrail é e como as regras se compõem, leia
Guardrails. Esta página é a companheira em nível de
protocolo.
1. Autenticação e escopo
Toda rota/api/guardrail/* é plano de gerenciamento: ela autentica com a
sessão ou token de acesso do seu console (a mesma identidade com a qual você
faz login no console), não uma chave de relay.
- As rotas têm escopo de workspace — elas só veem os guardrails do workspace ativo. Nada cruza uma fronteira de tenant.
- Toda rota é controlada por RBAC pelo seu papel de workspace (Viewer / Developer / Admin / Owner). Leituras abertas a Viewer+; o sandbox e todas as escritas exigem Developer+; os endpoints de falso positivo exigem Admin (Admin ou Owner).
A maioria das equipes nunca chama essas rotas diretamente — o console aciona
todas elas. Recorra à superfície REST quando quiser guardrails em controle de
versão, em CI ou conectados às suas próprias ferramentas.
2. Uma chamada concreta — liste seus guardrails
Uma leitura é o lugar mais simples para começar. Autenticado como qualquer membro do workspace (Viewer+):3. O modelo de papéis em uma tabela
A ação que você toma, não a rota, escolhe o nível.| Ação | Papel mínimo |
|---|---|
| Leitura (list/get, history, matches, eval runs), rodar um eval | Viewer+ |
| Rodar teste no sandbox | Developer+ |
| Criar, atualizar, deletar, reverter, fazer upload/delete de corpus | Developer+ |
| Marcar / desmarcar um match como falso positivo | Admin |
guardrails:read (mantida por Viewer e acima);
escritas mapeiam para guardrails:write (Developer e acima). Marcar um falso
positivo adicionalmente exige o papel de Admin. Veja
Escopo, chaves & políticas
para como papéis e permissões se combinam.
4. Rotas por área
Guardrails (CRUD + sandbox)
Guardrails (CRUD + sandbox)
| Método & path | Papel |
|---|---|
GET /api/guardrail/ | Viewer+ |
GET /api/guardrail/meta | Viewer+ |
GET /api/guardrail/my-permissions | qualquer membro |
GET /api/guardrail/:id | Viewer+ |
GET /api/guardrail/:id/tokens | Viewer+ |
POST /api/guardrail/test | Developer+ |
POST /api/guardrail/ | Developer+ |
PUT /api/guardrail/ | Developer+ |
DELETE /api/guardrail/:id | Developer+ |
meta retorna o vocabulário do motor — tipos de regra, estágios, ações,
entidades de PII, presets e categorias de preset — para que uma ferramenta
possa montar um formulário sem codificar os enums diretamente. test roda a
política atual sobre texto de amostra em um sandbox: nada é persistido,
nada vai upstream.Histórico de versões
Histórico de versões
| Método & path | Papel |
|---|---|
GET /api/guardrail/:id/history | Viewer+ |
GET /api/guardrail/:id/history/diff | Viewer+ |
GET /api/guardrail/:id/history/:version | Viewer+ |
POST /api/guardrail/:id/revert | Developer+ |
revert copia uma versão antiga adiante como uma nova versão —
o histórico nunca é mutado.Eval & corpora
Eval & corpora
| Método & path | Papel |
|---|---|
POST /api/guardrail/:id/eval | Viewer+ |
GET /api/guardrail/:id/eval/runs | Viewer+ |
GET /api/guardrail/eval/runs/:run_id | Viewer+ |
GET /api/guardrail/eval/corpora | Viewer+ |
POST /api/guardrail/eval/corpora | Developer+ |
GET /api/guardrail/eval/corpora/:id | Viewer+ |
DELETE /api/guardrail/eval/corpora/:id | Developer+ |
Feed de Matches
Feed de Matches
| Método & path | Papel |
|---|---|
GET /api/guardrail/match | qualquer membro |
GET /api/guardrail/match/grouped | qualquer membro |
GET /api/guardrail/match/stats | qualquer membro |
GET /api/guardrail/match/export | qualquer membro |
GET /api/guardrail/match/cap-status | qualquer membro |
GET /api/guardrail/match/:id | qualquer membro |
POST /api/guardrail/match/:id/mark-fp | Admin |
DELETE /api/guardrail/match/:id/mark-fp | Admin |
mark-fp são apenas-Admin (Admin
ou Owner) e com rate-limit.5. Resolução: qual guardrail se aplica
As rotas acima gerenciam políticas; a resolução decide qual delas roda em uma dada chamada de relay. É um modelo explícito-ou-padrão sem fallback silencioso em um vínculo explícito:guardrail_idexplícito na chave → esse guardrail se aplica, se existir e estiver habilitado. Um vínculo desabilitado é o interruptor de desligar — ele não cai de volta.- Sem vínculo → o guardrail padrão habilitado do workspace (
is_default). - Nenhum → sem enforcement. A requisição é byte-idêntica à de um workspace que nunca habilitou o recurso.
guardrail_id em uma chave através do editor de chaves ou da API de
tokens; 0/null significa “sem vínculo explícito”.
6. O que um bloqueio retorna
Quando uma regra de açãoblock dispara, a chamada de relay (/v1/*, na sua
chave de relay) — não estas rotas de gerenciamento — retorna:
| Campo | Valor |
|---|---|
| Status HTTP | 400 |
| Código de erro | guardrail_blocked |
| Custo de cota | um bloqueio em estágio de entrada dispara antes do pré-consumo, então nenhuma cota é cobrada |
| Retry | marcado skip-retry |
7. Ações, estágios e tipos de regra em resumo
A rotameta retorna estes como enums; aqui estão eles para referência rápida.
- Ações:
block(rejeita, HTTP 400),mask(redige a correspondência, encaminha o texto limpo),flag(apenas registra — observa sem alterar o tráfego),annotate(não-bloqueante — registra a correspondência e injeta uma nota legível por humanos upstream para que o modelo seja informado sobre ela antes de responder),spotlight(não-bloqueante — envolve o trecho não confiável correspondente em delimitadores e diz ao modelo para tratá-lo como dado, não instruções; uma defesa contra injeção de prompt, na prática em estágio de entrada). - Estágios:
input(a requisição),output(a resposta do modelo) ouboth. - Tipos de regra:
keyword,regex,pii,max_chars,external,llm_judge,grounding.
Regras de estágio de saída são aplicadas em ambas as respostas, em streaming
e não-streaming: um
block corta o stream, e um mask reescreve os trechos
correspondentes em banda à medida que os chunks fluem. Em um stream, bytes já
liberados não podem ser retraídos, então uma correspondência só é tratada
depois que o suficiente dela foi bufferizado — para a garantia mais forte,
escaneie no estágio input, que sanitiza a requisição antes que o modelo a
veja. Prove sua combinação exata de estágio/stream primeiro no sandbox.8. Referências relacionadas
API de Firewall
O par do plano de ação —
/api/workspace/firewall/* e as rotas do gateway.API de Compliance
/api/compliance/* — packs, relatórios assinados, residência, prontidão.Códigos de erro
Todo código
*_blocked, seu status HTTP e o que fazer a respeito.Guardrails (aprofundado)
Tipos de regra, entidades de PII, presets, evals e o feed de matches por
completo.
