Datadog APM · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Datadog APM — (API v1) Service Level Objectives API

11 actions 11 updates phrasing extends openapi/datadog-apm-service-level-objectives-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Datadog APM's API. It is a proposal applied on top of the contract, not a document Datadog APM publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/api/v1/slo'].get
$.paths['/api/v1/slo'].post
$.paths['/api/v1/slo/bulk_delete'].post
$.paths['/api/v1/slo/can_delete'].get
$.paths['/api/v1/slo/search'].get
$.paths['/api/v1/slo/{slo_id}'].get
$.paths['/api/v1/slo/{slo_id}'].put
$.paths['/api/v1/slo/{slo_id}'].delete
$.paths['/api/v1/slo/{slo_id}/history'].get
$.paths['/api/v1/slo/{slo_id}/corrections'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Datadog APM — (API v1) Service Level Objectives API
  version: 1.0.0
extends: openapi/datadog-apm-service-level-objectives-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 10
- target: $.paths['/api/v1/slo'].get
  update:
    x-apievangelist-phrasing:
      intent: List SLOs with filters
      effect: read
      questions:
      - Which SLOs in our org carry a particular tag?
      - Can I list only the SLOs that have been deleted?
      - What SLOs do we have for a specific set of SLO IDs?
      instructions:
      - text: List all SLOs tagged {tags_query}.
        slots:
          tags_query: query.tags_query
      - text: Get the SLOs with IDs {ids}.
        slots:
          ids: query.ids
      - text: List {limit} SLOs whose names match {query}, starting at offset {offset}.
        slots:
          limit: query.limit
          query: query.query
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a service level objective
      effect: write
      questions:
      - How do I set up a 99.9% availability SLO over 30 days?
      - Can I create a monitor-based SLO from a list of monitor IDs?
      - What SLO types can I choose when defining a new objective?
      instructions:
      - text: Create a {type} SLO named {name} with thresholds {thresholds}.
        slots:
          type: requestBody.type
          name: requestBody.name
          thresholds: requestBody.thresholds
      - text: Create a monitor SLO called {name} over monitors {monitor_ids} with thresholds {thresholds}.
        slots:
          name: requestBody.name
          monitor_ids: requestBody.monitor_ids
          thresholds: requestBody.thresholds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/bulk_delete'].post
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete SLO thresholds by timeframe
      effect: destructive
      questions:
      - Can I drop just the 7-day threshold from several SLOs at once?
      - What happens to an SLO when I bulk delete all of its timeframes?
      instructions:
      - text: Bulk delete the 7d timeframe from these SLOs in one call.
      - text: Remove the listed threshold timeframes across multiple SLOs at once.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/can_delete'].get
  update:
    x-apievangelist-phrasing:
      intent: Check whether SLOs can be safely deleted
      effect: read
      questions:
      - Is an SLO still used on a dashboard before I delete it?
      - Can I check several SLOs for dependencies before removing them?
      instructions:
      - text: Check whether SLOs {ids} can be safely deleted.
        slots:
          ids: query.ids
      - text: Verify nothing references SLO {ids} before I remove it.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search SLOs with facets
      effect: read
      questions:
      - Which SLOs belong to a given service or team when I search by query syntax?
      - Can an SLO search also return facet counts?
      instructions:
      - text: Search SLOs for {query}.
        slots:
          query: query.query
      - text: Search SLOs matching {query} with include_facets set to {include_facets}.
        slots:
          query: query.query
          include_facets: query.include_facets
      - text: Show search results page {page} with {size} SLOs per page.
        slots:
          page: query.page[number]
          size: query.page[size]
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/{slo_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an SLO's details
      effect: read
      questions:
      - What target and timeframe is a specific SLO configured with?
      - Which monitors alert on a given SLO?
      instructions:
      - text: Get the details of SLO {slo_id}.
        slots:
          slo_id: path.slo_id
      - text: Show SLO {slo_id} along with the monitor alerts that reference it, setting that flag to {with_alerts}.
        slots:
          slo_id: path.slo_id
          with_alerts: query.with_configured_alert_ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/{slo_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing SLO
      effect: write
      questions:
      - How do I raise the target on an SLO I already have?
      - Can I change the tags or description of an existing SLO?
      instructions:
      - text: Update SLO {slo_id} to use thresholds {thresholds}.
        slots:
          slo_id: path.slo_id
          thresholds: requestBody.thresholds
      - text: Rename existing SLO {slo_id} to {name}, keeping type {type} and thresholds {thresholds}.
        slots:
          slo_id: path.slo_id
          name: requestBody.name
          type: requestBody.type
          thresholds: requestBody.thresholds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/{slo_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an SLO
      effect: destructive
      questions:
      - Why does deleting an SLO return a conflict when it's on a dashboard?
      - Can I force delete an SLO that other resources still reference?
      instructions:
      - text: Delete SLO {slo_id}.
        slots:
          slo_id: path.slo_id
      - text: Force delete SLO {slo_id} even though it's referenced elsewhere, with force set to {force}.
        slots:
          slo_id: path.slo_id
          force: query.force
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/{slo_id}/history'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an SLO's history and error budget
      effect: read
      questions:
      - How much error budget does an SLO have left for last month?
      - Can I see an SLO's history without corrections applied?
      instructions:
      - text: Get the history of SLO {slo_id} from {from_ts} to {to_ts}.
        slots:
          slo_id: path.slo_id
          from_ts: query.from_ts
          to_ts: query.to_ts
      - text: Show SLO {slo_id} history between {from_ts} and {to_ts} with remaining error budget against target {target}.
        slots:
          slo_id: path.slo_id
          from_ts: query.from_ts
          to_ts: query.to_ts
          target: query.target
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/slo/{slo_id}/corrections'].get
  update:
    x-apievangelist-phrasing:
      intent: List corrections applied to one SLO
      effect: read
      questions:
      - Which corrections have been applied to one particular SLO?
      - What downtime windows are excluded from a single SLO's calculation?
      instructions:
      - text: List the corrections applied to SLO {slo_id}.
        slots:
          slo_id: path.slo_id
      - text: Show every correction attached to SLO {slo_id}.
        slots:
          slo_id: path.slo_id
      method: generated
      generated: '2026-09-26'