This document provides a high-level overview of the internal REST APIs powering the Pulse backend. Pulse relies on a microservices architecture communicating via REST APIs.
- Alert Ingestion Service:
http://localhost:3001 - AI Engine Service:
http://localhost:3002
Search and list recent distributed traces.
- Query Parameters:
service(string): Filter by OpenTelemetry service name.limit(number): Maximum traces to return (default 50).
- Response:
200 OK{ "traces": [...], "total": 120 }
Get the full timeline waterfall (spans) for a specific trace.
- Response:
200 OK{ "traceId": "1a2b...", "spans": [...] }
Accepts standard Prometheus Alertmanager payloads.
- Body Payload:
{ "alerts": [ { "status": "firing", "labels": { "severity": "critical" } } ] } - Response:
200 OK{ "status": "ok" }
Submits raw logs or metrics to the Gemini AI Engine for Root Cause Analysis.
- Body Payload:
{ "query": "Why did checkout fail?", "context": { "traceId": "123" } } - Response:
200 OK(Stream) Returns a Markdown-formatted stream detailing potential root causes.