Datadog · Arazzo Workflow

Datadog Schedule a Downtime

Version 1.0.0

Schedule a downtime for monitors matching a scope, confirm it, then cancel it.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub AnalyticsDashboardsMonitoringPlatformT1VisualizationsArazzoWorkflows

Provider

datadog

Workflows

schedule-downtime
Schedule, verify, and cancel a Datadog downtime.
Creates a downtime scoped to a query and a list of monitor tags, fetches the created downtime by id to confirm it exists, then cancels it.
3 steps inputs: message, monitorTags, scope outputs: downtimeId, downtimeStatus
1
scheduleDowntime
Schedule a downtime that mutes monitors matching the supplied scope and monitor tags.
2
getDowntime
Fetch the created downtime by id to confirm it was scheduled and read its current state.
3
cancelDowntime
Cancel the downtime so the mute window is closed out. Canceled downtimes are retained for approximately two days before permanent removal.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Datadog Schedule a Downtime
  summary: Schedule a downtime for monitors matching a scope, confirm it, then cancel it.
  description: >-
    A common monitor maintenance pattern on the Datadog v2 Downtime API. The
    workflow schedules a downtime that mutes monitors matching a scope and a set
    of monitor tags, reads the created downtime back to confirm its state, and
    then cancels it so the mute window is closed out cleanly. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: cancelApi
  url: ../openapi/datadog-cancel-api-openapi.yml
  type: openapi
- name: getApi
  url: ../openapi/datadog-get-api-openapi.yml
  type: openapi
- name: schedulesApi
  url: ../openapi/datadog-schedules-api-openapi.yml
  type: openapi
workflows:
- workflowId: schedule-downtime
  summary: Schedule, verify, and cancel a Datadog downtime.
  description: >-
    Creates a downtime scoped to a query and a list of monitor tags, fetches the
    created downtime by id to confirm it exists, then cancels it.
  inputs:
    type: object
    required:
    - scope
    - monitorTags
    properties:
      scope:
        type: string
        description: The scope to apply the downtime to (e.g. "env:staging").
      monitorTags:
        type: array
        description: List of monitor tags the downtime applies to (matches all).
        items:
          type: string
      message:
        type: string
        description: Optional message to include with downtime notifications.
  steps:
  - stepId: scheduleDowntime
    description: >-
      Schedule a downtime that mutes monitors matching the supplied scope and
      monitor tags.
    operationId: CreateDowntime
    requestBody:
      contentType: application/json
      payload:
        data:
          type: downtime
          attributes:
            scope: $inputs.scope
            message: $inputs.message
            monitor_identifier:
              monitor_tags: $inputs.monitorTags
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      downtimeId: $response.body#/data/id
  - stepId: getDowntime
    description: >-
      Fetch the created downtime by id to confirm it was scheduled and read its
      current state.
    operationId: GetDowntime
    parameters:
    - name: downtime_id
      in: path
      value: $steps.scheduleDowntime.outputs.downtimeId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      downtimeStatus: $response.body#/data/attributes/status
  - stepId: cancelDowntime
    description: >-
      Cancel the downtime so the mute window is closed out. Canceled downtimes
      are retained for approximately two days before permanent removal.
    operationId: CancelDowntime
    parameters:
    - name: downtime_id
      in: path
      value: $steps.scheduleDowntime.outputs.downtimeId
    successCriteria:
    - condition: $statusCode == 204
  outputs:
    downtimeId: $steps.scheduleDowntime.outputs.downtimeId
    downtimeStatus: $steps.getDowntime.outputs.downtimeStatus

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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 workflow
curl "https://apis.io/api/v1/arazzo/datadog-schedule-downtime-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.