The ingestion API normalizes and deduplicates events from your existing monitoring and alerting tools, routing them into the Scrubbe signal pipeline for triage, correlation, and incident creation. All ingestion endpoints useDocumentation Index
Fetch the complete documentation index at: https://docs.scrubbe.com/llms.txt
Use this file to discover all available pages before exploring further.
X-API-Key authentication — JWT Bearer tokens are not accepted on these routes. Endpoints live under /api/v1/ingestion.
How ingestion works
Each endpoint accepts a source-specific event payload, normalizes it to a canonical Scrubbe signal format, and deduplicates it against the existing signal stream. Duplicate events — identified by a combination of source, event type, and a fingerprint derived from the payload — are merged rather than creating redundant signals.Unique ID assigned to this signal in the Scrubbe pipeline.
true if this event was merged into an existing signal rather than creating a new one.The normalized source name recorded for the signal.
POST /ingestion/github
Ingest a GitHub webhook event (push, pull request, deployment status, etc.).GitHub event action. Example:
"opened", "completed".GitHub repository object from the webhook payload.
GitHub user object representing the actor who triggered the event.
POST /ingestion/gitlab
Ingest a GitLab webhook event (push, merge request, pipeline, etc.).GitLab event kind. Example:
"push", "merge_request", "pipeline".GitLab project object from the webhook payload.
GitLab user who triggered the event.
POST /ingestion/kubernetes
Ingest a Kubernetes event or alert (e.g., pod crash, OOMKilled, node not ready).Kubernetes event type. Example:
"Warning", "Normal".Short reason string from the event. Example:
"OOMKilling", "BackOff".Human-readable event message.
The Kubernetes resource the event relates to (kind, name, namespace).
Standard Kubernetes object metadata (namespace, labels, creationTimestamp).
POST /ingestion/pagerduty
Ingest a PagerDuty webhook event (incident triggered, acknowledged, resolved, etc.).Array of PagerDuty webhook message objects. Each message includes
event, incident, and log_entries.PagerDuty webhook v3 payloads are supported. Configure the outbound webhook in your PagerDuty account to point to this endpoint.
POST /ingestion/prometheus
Ingest an Alertmanager webhook payload from Prometheus.Alertmanager receiver name.
Alert group status. One of:
"firing", "resolved".Array of Prometheus alert objects. Each alert contains
status, labels, annotations, startsAt, and endsAt.POST /ingestion/datadog
Ingest a Datadog webhook notification (monitor alert, recovery, etc.).Datadog monitor ID.
Datadog event type. Example:
"monitor alert", "metric alert".Monitor alert title.
Full monitor alert body text.
Alert priority. One of:
"normal", "low".Configure your Datadog webhook integration to point to this endpoint. Include the API key in the URL as a query parameter or set it as a custom header named
X-API-Key.POST /ingestion/webhook
Generic canonical webhook endpoint for tools not covered by a dedicated integration. Submit a normalized signal payload directly.Identifier for the originating tool or system. Example:
"custom-monitor", "statuspage".Short description of the event.
Signal severity. One of:
"critical", "high", "medium", "low", "info".Current state of the event. One of:
"firing", "resolved".Detailed description of the event.
Arbitrary key-value pairs for additional context. These are stored with the signal and surfaced in the Scrubbe UI.
ISO 8601 timestamp of the original event. Defaults to the time of ingestion if omitted.