Datadog APM Service Level Objectives API

[Service Level Objectives](https://docs.datadoghq.com/monitors/service_level_objectives/#configuration) (or SLOs) are a key part of the site reliability engineering toolkit. SLOs provide a framework for defining clear targets around application performance, which ultimately help teams provide a consistent customer experience, balance feature development with platform stability, and improve communication with internal and external users.

Operations 10

GET /api/v1/slo Get all SLOs #
POST /api/v1/slo Create an SLO object #
POST /api/v1/slo/bulk_delete Bulk Delete SLO Timeframes #
GET /api/v1/slo/can_delete Check if SLOs can be safely deleted #
GET /api/v1/slo/search Search for SLOs #
DELETE /api/v1/slo/{slo_id} Delete an SLO #
GET /api/v1/slo/{slo_id} Get an SLO's details #
PUT /api/v1/slo/{slo_id} Update an SLO #
GET /api/v1/slo/{slo_id}/history Get an SLO's history #
GET /api/v1/slo/{slo_id}/corrections Get Corrections For an SLO #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/datadog-apm-service-level-objectives-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

datadog-apm-service-level-objectives-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Datadog APM — (API v1) Service Level Objectives API
  description: The Service Level Objective surface of the Datadog API v1, extracted verbatim from the OpenAPI definition Datadog publishes for its own API clients.
  version: '1.0'
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  x-source: https://raw.githubusercontent.com/DataDog/datadog-api-client-go/master/.generator/schemas/v1/openapi.yaml
  x-extracted: '2026-09-05'
  x-extraction-note: Path items, components and security schemes copied VERBATIM from the Datadog-published OpenAPI at x-source; only the APM-relevant subset of paths is retained. No content was authored by API Evangelist.
servers:
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: The regional site for Datadog customers.
      enum:
      - datadoghq.com
      - us3.datadoghq.com
      - us5.datadoghq.com
      - ap1.datadoghq.com
      - ap2.datadoghq.com
      - uk1.datadoghq.com
      - datadoghq.eu
      - ddog-gov.com
      - us2.ddog-gov.com
      - uk1.datadoghq.com
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
- url: '{protocol}://{name}'
  variables:
    name:
      default: api.datadoghq.com
      description: Full site DNS name.
    protocol:
      default: https
      description: The protocol for accessing the API.
- url: https://{subdomain}.{site}
  variables:
    site:
      default: datadoghq.com
      description: Any Datadog deployment.
    subdomain:
      default: api
      description: The subdomain where the API is deployed.
security:
- apiKeyAuth: []
  appKeyAuth: []
tags:
- description: 'Service Level Objectives

    (or SLOs) are a key part of the site reliability engineering toolkit.

    SLOs provide a framework for defining clear targets around application performance,

    which ultimately help teams provide a consistent customer experience,

    balance feature development with platform stability,

    and improve communication with internal and external users.'
  name: Service Level Objectives
paths:
  /api/v1/slo:
    get:
      description: Get a list of service level objective objects for your organization.
      operationId: ListSLOs
      parameters:
      - description: A comma separated list of the IDs of the service level objectives objects.
        example: id1, id2, id3
        in: query
        name: ids
        required: false
        schema:
          type: string
      - description: The query string to filter results based on SLO names.
        example: monitor
        in: query
        name: query
        required: false
        schema:
          type: string
      - description: The query string to filter results based on a single SLO tag.
        example: env:prod
        in: query
        name: tags_query
        required: false
        schema:
          type: string
      - description: The query string to filter results based on SLO numerator and denominator.
        example: aws.elb.request_count
        in: query
        name: metrics_query
        required: false
        schema:
          type: string
      - description: The number of SLOs to return in the response.
        in: query
        name: limit
        required: false
        schema:
          default: 1000
          format: int64
          type: integer
      - description: The specific offset to use as the beginning of the returned response.
        in: query
        name: offset
        required: false
        schema:
          format: int64
          type: integer
      - description: Whether to return only deleted service level objective objects.
        example: true
        in: query
        name: is_deleted
        required: false
        schema:
          default: false
          type: boolean
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - id: abc-123
                      name: Custom Metric SLO
                      tags:
                      - env:prod
                      - app:core
                      thresholds:
                      - target: 95
                        timeframe: 7d
                      - target: 95
                        timeframe: 30d
                        warning: 97
                      type: metric
                    errors: []
              schema:
                $ref: '#/components/schemas/SLOListResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not Found
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Get all SLOs
      tags:
      - Service Level Objectives
      x-pagination:
        limitParam: limit
        pageOffsetParam: offset
        resultsPath: data
      x-permission:
        operator: OR
        permissions:
        - slos_read
    post:
      description: Create a service level objective object.
      operationId: CreateSLO
      requestBody:
        content:
          application/json:
            examples:
              default:
                value:
                  description: Track the availability of our custom metric.
                  name: Custom Metric SLO
                  query:
                    denominator: sum:my.custom.metric{*}.as_count()
                    numerator: sum:my.custom.metric{type:good}.as_count()
                  tags:
                  - env:prod
                  - app:core
                  thresholds:
                  - target: 95
                    timeframe: 7d
                  - target: 95
                    timeframe: 30d
                    warning: 97
                  type: metric
            schema:
              $ref: '#/components/schemas/ServiceLevelObjectiveRequest'
        description: Service level objective request object.
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - description: Track the availability of our custom metric.
                      id: abc-123
                      name: Custom Metric SLO
                      tags:
                      - env:prod
                      - app:core
                      thresholds:
                      - target: 95
                        target_display: '95.0'
                        timeframe: 7d
                      type: metric
                    errors: []
              schema:
                $ref: '#/components/schemas/SLOListResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_write
      summary: Create an SLO object
      tags:
      - Service Level Objectives
      x-codegen-request-body-name: body
      x-permission:
        operator: OR
        permissions:
        - slos_write
  /api/v1/slo/bulk_delete:
    post:
      description: 'Delete (or partially delete) multiple service level objective objects.


        This endpoint facilitates deletion of one or more thresholds for one or more

        service level objective objects. If all thresholds are deleted, the service level

        objective object is deleted as well.'
      operationId: DeleteSLOTimeframeInBulk
      requestBody:
        content:
          application/json:
            examples:
              default:
                value:
                  id1:
                  - 7d
                  - 30d
                  id2:
                  - 7d
                  - 30d
            schema:
              $ref: '#/components/schemas/SLOBulkDelete'
        description: Delete multiple service level objective objects request body.
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      deleted: []
                      updated:
                      - abc-123
                    errors: []
              schema:
                $ref: '#/components/schemas/SLOBulkDeleteResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_write
      summary: Bulk Delete SLO Timeframes
      tags:
      - Service Level Objectives
      x-codegen-request-body-name: body
      x-permission:
        operator: OR
        permissions:
        - slos_write
  /api/v1/slo/can_delete:
    get:
      description: 'Check if an SLO can be safely deleted. For example,

        assure an SLO can be deleted without disrupting a dashboard.'
      operationId: CheckCanDeleteSLO
      parameters:
      - description: A comma separated list of the IDs of the service level objectives objects.
        example: id1, id2, id3
        in: query
        name: ids
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      ok:
                      - abc-123
                    errors: {}
              schema:
                $ref: '#/components/schemas/CheckCanDeleteSLOResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckCanDeleteSLOResponse'
          description: Conflict
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Check if SLOs can be safely deleted
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_read
  /api/v1/slo/search:
    get:
      description: Get a list of service level objective objects for your organization.
      operationId: SearchSLO
      parameters:
      - description: 'The query string to filter results based on SLO names.

          Some examples of queries include `service:<service-name>`

          and `<slo-name>`.'
        in: query
        name: query
        required: false
        schema:
          type: string
      - description: The number of files to return in the response `[default=10]`.
        in: query
        name: page[size]
        required: false
        schema:
          format: int64
          type: integer
      - description: The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`.
        in: query
        name: page[number]
        required: false
        schema:
          format: int64
          type: integer
      - description: Whether or not to return facet information in the response `[default=false]`.
        in: query
        name: include_facets
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      attributes:
                        slos:
                        - data:
                            attributes:
                              name: Example SLO
                              thresholds:
                              - target: 95
                                target_display: '95'
                                timeframe: 7d
                            id: abc-123
                            type: slo
                      type: service_level_objective_search_results
              schema:
                $ref: '#/components/schemas/SearchSLOResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Search for SLOs
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_read
  /api/v1/slo/{slo_id}:
    delete:
      description: 'Permanently delete the specified service level objective object.


        If an SLO is used in a dashboard, the `DELETE /v1/slo/` endpoint returns

        a 409 conflict error because the SLO is referenced in a dashboard.'
      operationId: DeleteSLO
      parameters:
      - description: The ID of the service level objective.
        in: path
        name: slo_id
        required: true
        schema:
          type: string
      - description: Delete the monitor even if it's referenced by other resources (for example SLO, composite monitor).
        in: query
        name: force
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - abc-123
                    errors: {}
              schema:
                $ref: '#/components/schemas/SLODeleteResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SLODeleteResponse'
          description: Conflict
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_write
      summary: Delete an SLO
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_write
    get:
      description: Get a service level objective object.
      operationId: GetSLO
      parameters:
      - description: The ID of the service level objective object.
        in: path
        name: slo_id
        required: true
        schema:
          type: string
      - description: Get the IDs of SLO monitors that reference this SLO.
        example: true
        in: query
        name: with_configured_alert_ids
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      description: Track the availability of our custom metric.
                      id: abc-123
                      name: Custom Metric SLO
                      tags:
                      - env:prod
                      thresholds:
                      - target: 95
                        target_display: '95.0'
                        timeframe: 7d
                      type: metric
                    errors: []
              schema:
                $ref: '#/components/schemas/SLOResponse'
          description: OK
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not found
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Get an SLO's details
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_read
    put:
      description: Update the specified service level objective object.
      operationId: UpdateSLO
      parameters:
      - description: The ID of the service level objective object.
        in: path
        name: slo_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            examples:
              default:
                value:
                  description: Updated description for the SLO.
                  name: Custom Metric SLO
                  query:
                    denominator: sum:my.custom.metric{*}.as_count()
                    numerator: sum:my.custom.metric{type:good}.as_count()
                  tags:
                  - env:prod
                  - app:core
                  thresholds:
                  - target: 95
                    timeframe: 7d
                  - target: 95
                    timeframe: 30d
                    warning: 97
                  type: metric
            schema:
              $ref: '#/components/schemas/ServiceLevelObjective'
        description: The edited service level objective request object.
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - description: Updated description for the SLO.
                      id: abc-123
                      name: Custom Metric SLO
                      tags:
                      - env:prod
                      thresholds:
                      - target: 95
                        target_display: '95.0'
                        timeframe: 7d
                      type: metric
                    errors: []
              schema:
                $ref: '#/components/schemas/SLOListResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not Found
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_write
      summary: Update an SLO
      tags:
      - Service Level Objectives
      x-codegen-request-body-name: body
      x-permission:
        operator: OR
        permissions:
        - slos_write
  /api/v1/slo/{slo_id}/history:
    get:
      description: 'Get a specific SLO’s history, regardless of its SLO type.


        The detailed history data is structured according to the source data type.

        For example, metric data is included for event SLOs that use

        the metric source, and monitor SLO types include the monitor transition history.


        **Note:** There are different response formats for event based and time based SLOs.

        Examples of both are shown.'
      operationId: GetSLOHistory
      parameters:
      - description: The ID of the service level objective object.
        in: path
        name: slo_id
        required: true
        schema:
          type: string
      - description: The `from` timestamp for the query window in epoch seconds.
        in: query
        name: from_ts
        required: true
        schema:
          format: int64
          type: integer
      - description: The `to` timestamp for the query window in epoch seconds.
        in: query
        name: to_ts
        required: true
        schema:
          format: int64
          type: integer
      - description: The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`.
        in: query
        name: target
        schema:
          format: double
          type: number
          exclusiveMinimum: 0
          exclusiveMaximum: 100
      - description: 'Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`,

          then the corrections will not be applied and the SLI values will not be affected.'
        in: query
        name: apply_correction
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                      from_ts: 1615323990
                      overall:
                        sli_value: 99.99
                        span_precision: 2.0
                      thresholds:
                        7d:
                          target: 95
                          timeframe: 7d
                      to_ts: 1615928790
                      type: metric
                      type_id: 1
                    errors: null
              schema:
                $ref: '#/components/schemas/SLOHistoryResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not Found
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Get an SLO's history
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_read
  /api/v1/slo/{slo_id}/corrections:
    get:
      description: Get corrections applied to an SLO
      operationId: GetSLOCorrections
      parameters:
      - description: The ID of the service level objective object.
        in: path
        name: slo_id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                default:
                  value:
                    data:
                    - attributes:
                        category: Scheduled Maintenance
                        end: 1600003600
                        slo_id: abc-123
                        start: 1600000000
                        timezone: UTC
                      id: abc-123
                      type: correction
              schema:
                $ref: '#/components/schemas/SLOCorrectionListResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIErrorResponse'
          description: Not Found
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ:
        - slos_read
      summary: Get Corrections For an SLO
      tags:
      - Service Level Objectives
      x-permission:
        operator: OR
        permissions:
        - slos_read
components:
  schemas:
    SLOCorrectionResponseAttributes:
      description: The attribute object associated with the SLO correction.
      properties:
        category:
          $ref: '#/components/schemas/SLOCorrectionCategory'
        created_at:
          description: The epoch timestamp of when the correction was created at.
          format: int64
          type:
          - integer
          - 'null'
        creator:
          $ref: '#/components/schemas/Creator'
        description:
          description: Description of the correction being made.
          type: string
        duration:
          description: Length of time (in seconds) for a specified `rrule` recurring SLO correction.
          example: 3600
          format: int64
          type:
          - integer
          - 'null'
        end:
          description: Ending time of the correction in epoch seconds.
          format: int64
          type:
          - integer
          - 'null'
        modified_at:
          description: The epoch timestamp of when the correction was modified at.
          format: int64
          type:
          - integer
          - 'null'
        modifier:
          $ref: '#/components/schemas/SLOCorrectionResponseAttributesModifier'
        rrule:
          description: 'The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections

            are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`.'
          example: FREQ=DAILY;INTERVAL=10;COUNT=5
          type:
          - string
          - 'null'
        slo_id:
          description: ID of the single SLO that this correction applies to.
          type:
          - string
          - 'null'
        slo_query:
          description: Query that matches the SLOs this correction applies to.
          type:
          - string
          - 'null'
        start:
          description: Starting time of the correction in epoch seconds.
          format: int64
          type: integer
        timezone:
          description: The timezone to display in the UI for the correction times (defaults to "UTC").
          type: string
      type: object
    SLOSliSpec:
      description: A generic SLI specification. This is used for time-slice and count-based (metric) SLOs only.
      oneOf:
      - $ref: '#/components/schemas/SLOTimeSliceSpec'
      - $ref: '#/components/schemas/SLOCountSpec'
    SLOHistoryMetricsSeries:
      description: 'A representation of `metric` based SLO timeseries for the provided queries.

        This is the same response type from `batch_query` endpoint.'
      properties:
        count:
          description: Count of submitted metrics.
          example: 0
          format: int64
          type: integer
        metadata:
          $ref: '#/components/schemas/SLOHistoryMetricsSeriesMetadata'
        sum:
          description: Total sum of the query.
          example: 0.0
          format: double
          type: number
        values:
          description: The query values for each metric.
          example: []
          items:
            description: A metric name and its value.
            format: double
            type: number
          type: array
      required:
      - count
      - sum
      - values
      type: object
    SearchSLOResponseMetaPage:
      description: Pagination metadata returned by the API.
      properties:
        first_number:
          description: The first number.
          format: int64
          type: integer
        last_number:
          description: The last number.
          format: int64
          type: integer
        next_number:
          description: The next number.
          format: int64
          type: integer
        number:
          description: The page number.
          format: int64
          type: integer
        prev_number:
          description: The previous page number.
          format: int64
          type: integer
        size:
          description: The size of the response.
          format: int64
          type: integer
        total:
          description: The total number of SLOs in the response.
          format: int64
          type: integer
        type:
          description: Type of pagination.
          type: string
      type: object
    SLODeleteResponse:
      description: A response list of all service level objective deleted.
      properties:
        data:
          description: An array containing the ID of the deleted service level objective object.
          items:
            description: ID of a deleted SLO.
            type: string
          type: array
        errors:
          additionalProperties:
            description: Error preventing the SLO deletion.
            type: string
          description: An dictionary containing the ID of the SLO as key and a deletion error as value.
          type: object
      type: object
    SLOTimeSliceQuery:
      description: The queries and formula used to calculate the SLI value.
      example:
        formulas:
        - formula: query2/query1
        queries:
        - data_source: metrics
          name: query1
          query: sum:trace.servlet.request.hits{*} by {env}.as_count()
        - data_source: metrics
          name: query1
          query: sum:trace.servlet.request.errors{*} by {env}.as_count()
      properties:
        formulas:
          description: A list that contains exactly one formula, as only a single formula may be used in a time-slice SLO.
          example:
          - formula: query1 - default_zero(query2)
          items:
            $ref: '#/components/schemas/SLOFormula'
          maxItems: 1
          minItems: 1
          type: array
        queries:
          description: A list of queries that are used to calculate the SLI value.
          example:
          - data_source: metrics
            name: query1
            query: sum:trace.servlet.request.hits{*} by {env}.as_count()
          items:
            $ref: '#/components/schemas/SLODataSourceQueryDefinition'
          type: array
      required:
      - formulas
      - queries
      type: object
    SearchSLOResponse:
      description: A search SLO response containing results from the search query.
      properties:
        data:
          $ref: '#/components/schemas/S

# --- truncated at 32 KB (102 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog-apm/refs/heads/main/openapi/datadog-apm-service-level-objectives-api-openapi.yml