Solicitações e políticas — API
Veja o guia conceitual em Solicitações e aprovações.
Solicitações de acesso
GET /api/v1/access-requests revisor
Query: ?status=pending · ?agent_id=3 · ?tool_id=5
POST /api/v1/access-requests/{id}/approve revisor
Aprova pelo fluxo padrão (aprovador único). Na primeira aprovação do agente,
retorna o client_secret (uma única vez).
Resposta 200
{
"access_request": { "id": 7, "status": "approved" },
"client_secret": "agt_live_…",
"agent_activated": true
}
client_secret é null se o agente já estava ativo.
POST /api/v1/access-requests/{id}/reject revisor
Requisição
{ "reason": "O contexto do agente não justifica acesso de escrita." }
POST /api/v1/access-requests/{id}/vote revisor
Vota em uma solicitação regida por uma política de aprovação.
Requisição
{ "vote": "approved", "reason": "Contexto revisado — acesso justificado." }
POST /api/v1/access-requests/bulk-approve revisor
Aprova várias solicitações de uma vez.
Requisição
{ "ids": [7, 8, 9] }
Resposta 200
{ "approved": [7, 8, 9], "failed": [] }
Políticas de aprovação
| Endpoint | Papel | Descrição |
|---|---|---|
POST /api/v1/approval-policies | admin | Cria uma política. |
GET /api/v1/approval-policies | revisor | Lista as políticas. |
PUT /api/v1/approval-policies/{id} | admin | Atualiza. |
DELETE /api/v1/approval-policies/{id} | admin | Remove. |
Exemplo de criação
{
"name": "Revisão de Segurança",
"type": "all_of",
"approver_emails": ["cto@empresa.com", "seguranca@empresa.com"],
"escalation_after_days": 3,
"is_default": false
}
type: any_of (quórum) · all_of (unânime) · sequential.