8090 (configurável via CHATCLI_AIOPS_PORT).
Autenticação
X-API-Key Header
X-API-Key Header
Todas as requisições autenticadas devem incluir o header As chaves são configuradas via ConfigMap
X-API-Key:chatcli-api-keys no namespace do operator:Roles e Permissões
Roles e Permissões
Modo Desenvolvimento
Modo Desenvolvimento
Quando nenhuma chave de API está configurada (ConfigMap ausente), a API opera em modo dev — todas as requisições são permitidas sem autenticação.
Rate Limiting
Rate Limiting
A API aplica rate limiting de 100 requisições por minuto por IP.Quando o limite é excedido, a API retorna:
Formato de Resposta
Todas as respostas seguem o envelope padrão: Sucesso (item único):Health
Endpoints de health check não requerem autenticação.GET /healthz
Verifica se o servidor está vivo.none
Nenhuma autenticação necessária.
200 OK:
GET /readyz
Verifica se o servidor está pronto para receber tráfego (conectado ao cluster, reconcilers ativos). Resposta200 OK:
503 Service Unavailable:
Incidents
Gerenciamento de incidentes detectados pelo pipeline AIOps.GET /api/v1/incidents
Lista todos os incidentes com filtros e paginação. Role mínimo:viewer
string
Filtrar por severidade. Valores:
critical, high, medium, low.string
Filtrar por estado. Valores:
detected, analyzing, remediating, resolved, escalated.string
Filtrar por namespace Kubernetes.
integer
default:"1"
Número da página.
integer
default:"20"
Itens por página. Máximo: 100.
string
Data/hora de início no formato ISO 8601. Ex:
2026-03-01T00:00:00Z.string
Data/hora de fim no formato ISO 8601.
200 OK:
GET /api/v1/incidents/:name
Retorna detalhes completos de um incidente específico. Role mínimo:viewer
string
required
Nome do incidente (Issue CR name).
string
default:"default"
Namespace do incidente.
200 OK:
POST /api/v1/incidents/:name/acknowledge
Marca um incidente como reconhecido (acknowledged). Role mínimo:operator
string
required
Nome do incidente.
200 OK:
POST /api/v1/incidents/:name/snooze
Suspende notificações de um incidente por uma duração especificada. Role mínimo:operator
string
required
Nome do incidente.
string
required
Duração do snooze. Formato Go duration:
30m, 1h, 2h30m, 24h.200 OK:
GET /api/v1/incidents/:name/timeline
Retorna a timeline completa de um incidente — desde a detecção até a resolução. Role mínimo:viewer
string
required
Nome do incidente.
200 OK:
GET /api/v1/incidents/:name/remediation
Retorna detalhes da remediação de um incidente, incluindo o plano, ações executadas e resultados. Role mínimo:viewer
string
required
Nome do incidente.
200 OK:
SLOs
Gerenciamento de Service Level Objectives.GET /api/v1/slos
Lista todos os SLOs configurados. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/slos/:name
Retorna detalhes de um SLO específico. Role mínimo:viewer
string
required
Nome do SLO.
200 OK:
GET /api/v1/slos/:name/budget
Retorna o error budget detalhado de um SLO. Role mínimo:viewer
string
required
Nome do SLO.
200 OK:
Runbooks
CRUD de runbooks de remediação.GET /api/v1/runbooks
Lista todos os runbooks disponíveis. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/runbooks/:name
Retorna detalhes de um runbook específico. Role mínimo:viewer
string
required
Nome do runbook.
200 OK:
POST /api/v1/runbooks
Cria um novo runbook. Role mínimo:admin
Request body:
201 Created:
PUT /api/v1/runbooks/:name
Atualiza um runbook existente. Role mínimo:admin
string
required
Nome do runbook a atualizar.
200 OK:
DELETE /api/v1/runbooks/:name
Remove um runbook. Role mínimo:admin
string
required
Nome do runbook a remover.
200 OK:
Approvals
Gerenciamento de aprovações para ações que requerem intervenção humana.GET /api/v1/approvals
Lista aprovações pendentes ou históricas. Role mínimo:viewer
string
Filtrar por estado. Valores:
pending, approved, rejected, expired.200 OK:
GET /api/v1/approvals/:name
Retorna detalhes de uma aprovação específica. Role mínimo:viewer
string
required
Nome da aprovação.
200 OK:
POST /api/v1/approvals/:name/approve
Aprova uma ação pendente. Role mínimo:operator
string
required
Nome da aprovação.
string
required
Identificador de quem aprova.
string
Motivo da aprovação.
200 OK:
POST /api/v1/approvals/:name/reject
Rejeita uma ação pendente. Role mínimo:operator
string
required
Nome da aprovação.
string
required
Identificador de quem rejeita.
string
required
Motivo da rejeição.
200 OK:
PostMortems
Consulta e gerenciamento de post-mortems gerados automaticamente.GET /api/v1/postmortems
Lista todos os post-mortems. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/postmortems/:name
Retorna detalhes completos de um post-mortem. Role mínimo:viewer
string
required
Nome do post-mortem.
200 OK:
POST /api/v1/postmortems/:name/review
Marca um post-mortem como em revisão. Role mínimo:operator
string
required
Nome do post-mortem.
200 OK:
POST /api/v1/postmortems/:name/close
Fecha um post-mortem após revisão. Role mínimo:operator
string
required
Nome do post-mortem.
200 OK:
Analytics
Métricas agregadas e tendências da plataforma AIOps.GET /api/v1/analytics/summary
Retorna um resumo geral da plataforma. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/analytics/mttd
Retorna o Mean Time to Detect (tempo médio de detecção). Role mínimo:viewer
string
default:"30d"
Janela de tempo. Valores:
7d, 14d, 30d, 90d.200 OK:
GET /api/v1/analytics/mttr
Retorna o Mean Time to Resolve (tempo médio de resolução). Role mínimo:viewer
string
default:"30d"
Janela de tempo. Valores:
7d, 14d, 30d, 90d.200 OK:
GET /api/v1/analytics/trends
Retorna tendências de incidentes ao longo do tempo. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/analytics/top-resources
Retorna os recursos com mais incidentes. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/analytics/remediation-stats
Retorna estatísticas de remediação. Role mínimo:viewer
Resposta 200 OK:
Clusters
Informações sobre clusters Kubernetes gerenciados.GET /api/v1/clusters
Lista todos os clusters monitorados. Role mínimo:viewer
Resposta 200 OK:
GET /api/v1/clusters/:name
Retorna detalhes de um cluster específico. Role mínimo:viewer
string
required
Nome do cluster.
200 OK:
GET /api/v1/clusters/global-status
Retorna o status global de todos os clusters. Role mínimo:viewer
Resposta 200 OK:
Audit
Log de auditoria de todas as ações na plataforma.GET /api/v1/audit
Lista eventos de auditoria com filtros. Role mínimo:viewer
string
Tipo de evento. Valores:
incident.created, incident.acknowledged, incident.resolved, incident.escalated, remediation.executed, remediation.failed, approval.approved, approval.rejected, runbook.created, runbook.deleted, api.access.string
Filtrar por severidade do evento de auditoria. Valores:
info, warning, critical.string
Filtrar por nome do recurso afetado.
string
Data/hora de início (ISO 8601).
string
Data/hora de fim (ISO 8601).
integer
default:"1"
Número da página.
integer
default:"50"
Itens por página. Máximo: 200.
200 OK:
GET /api/v1/audit/export
Exporta o log de auditoria completo em formato CSV ou JSON. Role mínimo:admin
string
default:"json"
Formato de exportação. Valores:
json, csv.string
Data/hora de início (ISO 8601).
string
Data/hora de fim (ISO 8601).
200 OK (JSON):
200 OK (CSV):
O header Content-Type será text/csv e o body conterá o CSV com colunas:
id,timestamp,type,severity,actor,resource,namespace,description
Códigos de Erro
SDKs e Integração
curl
Todos os exemplos nesta página usam
curl. Copie e adapte.Go Client
Use o pacote
operator/pkg/client para integração nativa em Go.Webhook
Configure notificações via webhook no Instance CR (
spec.notifications).Grafana
Consulte Web Dashboard e Grafana para dashboards pré-configurados.