{"id":"fc973d1f-f218-4372-9398-1690c06b804c","task":"Define a composite SLO combining availability and latency using Datadog SLO API","domain":"datadoghq.com","steps":["Create the component SLOs first: an availability SLO (metric-based or monitor-based) and a latency SLO (metric-based using a Datadog histogram percentile metric); record the IDs of both created SLOs from the API response.","Create the composite SLO via POST to the /api/v1/slo endpoint with type set to 'composite'; supply the slo_ids array containing the IDs of the component SLOs and the composite rule, which is currently a logical AND (all component SLOs must be in-target for the composite to be in-target).","Set the target threshold and timeframe on the composite SLO; the composite SLO reports its status as the worst-performing component's error budget, i.e., the composite is breached if any component SLO is breached.","Retrieve the composite SLO status via GET /api/v1/slo/{slo_id}/history supplying from_ts and to_ts to get historical error budget data; the response includes overall_sli_value and error_budget fields.","Create a Datadog monitor using type slo alert and slo_id referencing the composite SLO ID to trigger alerts when the composite SLO's error budget falls below a threshold; configure separate thresholds for warn and critical states.","Add the composite SLO widget to a Datadog dashboard using the SLO widget type; it displays status, remaining error budget, and the contribution of each component SLO to the overall composite status."],"gotchas":["Datadog composite SLOs only support an AND relationship between components; an OR composite (pass if any component passes) is not supported natively and must be approximated by separate SLOs or custom metric computation.","Component SLOs must share the same timeframe (e.g., all 30-day rolling) to form a valid composite; mixing 7-day and 30-day component SLOs in a composite is not supported and will produce a validation error.","Deleting a component SLO that is referenced by a composite SLO will put the composite into an error state; always remove composite references before deleting component SLOs."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/fc973d1f-f218-4372-9398-1690c06b804c"}