← Help & Docs

Service Portfolio

Business-facing view of services backed by CI infrastructure. Health rollup, executive-friendly. Last updated 2026-05-17

The Service Portfolio is a view on top of the CMDB, not a separate entity. Services are CIs of type='business-service' or type='service' that contain other CIs via the contains relationship. The portfolio surface adds health rollup (combining worst member status with active Major Incidents touching members).

Defining a service

  1. Use create_ci (MCP) or POST /api/cmdb/cis with type='business-service' (customer-facing offering) or type='service' (internal technical service).
  2. Set criticality, owner, environment, description.
  3. Use add_service_members (MCP) or POST /api/service-portfolio/:id/members to bulk-wire the backing CIs. Sets contains on the service + member_of inverse on each member.

Recommended: model business services at the level your CFO or CEO would recognize ("Customer Order Portal", "Employee Self-Service", "Vendor Payment Pipeline"). Below that, model technical services if you want to layer infrastructure dependencies more granularly.

Health classification

HealthTriggered by
🚫 major-outageAny active Major Incident touching the service CI or any member CI
🔧 maintenanceAny member CI has status='in-maintenance'
unknownService has 0 members OR service status is retired
healthyHas members, no MIs, no maintenance, not retired

The portfolio listing is sorted with outages first, then by criticality desc - so executives see the worst news at the top of the dashboard.

Service status page

The status page is a published, read-only rollup of the portfolio intended for an audience that can't (or shouldn't) see the full CMDB - end users, business stakeholders, or external customers. It reuses the same health classification described above, surfaces current service state at a glance, and lists scheduled maintenance windows so consumers know when a dip in availability is planned rather than an outage.

Prerequisites: services must be defined and wired (see Defining a service), and the underlying CMDB plus Major Incident data must be present for health to classify accurately - without active MIs or member status, the page falls back to healthy. Reading the status rollup requires Viewer+; declaring maintenance (via member CI status) or Major Incidents requires Admin.

REST endpoints

MCP tools (3, HTTP + stdio parity)

Pitfalls