Service Catalog
Map your services, define ownership, track dependencies, and link health checks to the services they monitor.
Overview
A Service represents a deployable unit in your infrastructure — an API, a worker, a database, a frontend app. Each service has an owner team, an escalation policy, and a tier that indicates its criticality.
Services exist alongside Projects (which group checks into folders). A check can belong to a Project (organizational grouping) and have a Service assigned (ownership and routing).
Service Tiers
Tiers classify the business criticality of a service:
| Tier | Meaning | Example |
|---|---|---|
| P1 | Critical — revenue-impacting, customer-facing | Payment API, Authentication service |
| P2 | Important — significant impact if down | Search service, Notification system |
| P3 | Standard — internal tools, moderate impact | Admin dashboard, Reporting service |
| P4 | Low — minimal impact, best-effort | Internal docs, Dev tools |
Creating a Service
Navigate to Services in the sidebar and click Add Service.
- Name — a human-readable name (slug is auto-generated)
- Tier — P1 through P4
- Owner Team — the team responsible for this service
- Escalation Policy — who gets paged when this service has incidents
- Repository URL — link to the source code
- Documentation URL — link to internal docs or runbook
- Slack Channel — the team's communication channel
Dependencies
Dependencies model how services relate to each other. On a service's detail page, you can add dependencies to show what this service depends on.
Three dependency types:
- Runtime — hard dependency. If the dependency is down, this service fails too. Example: API → Database.
- Build — needed for deployment but not runtime. Example: Frontend → CI/CD pipeline.
- Optional — soft dependency. Service degrades but doesn't fail. Example: API → Cache (falls back to database).
The dependency map on the service detail page shows a visual layout: services that depend on this one (left), the current service (center), and what it depends on (right).
Tip
Linking Checks to Services
You can assign a check to a service from the check's detail page. This links the check to the service for ownership tracking and future auto-routing.
The service detail page shows a count of linked checks and will display them in a table.
Coming Soon
- Auto-routing — when a check with a service triggers an incident, automatically use the service's escalation policy
- Blast radius analysis — when a service goes down, show all affected dependent services and their tier
- Dependency graph visualization — interactive full-org graph showing all services and their relationships
- External import — sync services from GitHub repositories or Terraform
API Reference
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/organizations/{id}/services | List all services |
| POST | /api/organizations/{id}/services | Create service |
| GET | /api/organizations/{id}/services/{sid} | Get service with dependencies |
| PUT | /api/organizations/{id}/services/{sid} | Update service |
| DELETE | /api/organizations/{id}/services/{sid} | Delete service |
| POST | .../services/{sid}/dependencies | Add dependency |
| DELETE | .../services/{sid}/dependencies/{did} | Remove dependency |