---
title: "Update a downtime"
method: PATCH
path: "/api/v2/downtime/{downtime_id}"
tags: ["Downtimes"]
---

# Update a downtime

`PATCH /api/v2/downtime/{downtime_id}`

Update a downtime by `downtime_id`.

## Path parameters

- `downtime_id` string, required

## Request body

- DowntimeUpdateRequest — Request for editing a downtime.
  - `data` DowntimeUpdateRequestData, required — Object to update a downtime.
    - `attributes` DowntimeUpdateRequestAttributes, required — Attributes of the downtime to update.
      - `display_timezone` string, nullable — The timezone in which to display the downtime's start and end times in Datadog applications. This is not used as an offset for scheduling.
      - `message` string, nullable — A message to include with notifications for this downtime. Email notifications can be sent to specific users by using the same `@username` notation as events.
      - `monitor_identifier` union — Monitor identifier for the downtime.
        - DowntimeMonitorIdentifierId — Object of the monitor identifier.
          - `monitor_id` integer, required — ID of the monitor to prevent notifications.
        - DowntimeMonitorIdentifierTags — Object of the monitor tags.
          - `monitor_tags` string[], required — A list of monitor tags. For example, tags that are applied directly to monitors, not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. The resulting downtime applies to monitors that match **all** provided monitor tags. Setting `monitor_tags` to `[*]` configures the downtime to mute all monitors for the given scope.
      - `mute_first_recovery_notification` boolean — If the first recovery notification during a downtime should be muted.
      - `notify_end_states` DowntimeNotifyEndStateTypes[] — States that will trigger a monitor notification when the `notify_end_types` action occurs.
      - `notify_end_types` DowntimeNotifyEndStateActions[] — Actions that will trigger a monitor notification if the downtime is in the `notify_end_types` state.
      - `schedule` union — Schedule for the downtime.
        - DowntimeScheduleRecurrencesUpdateRequest — A recurring downtime schedule definition.
          - `recurrences` DowntimeScheduleRecurrenceCreateUpdateRequest[] — A list of downtime recurrences.
            - `duration` string, required — The length of the downtime. Must begin with an integer and end with one of 'm', 'h', d', or 'w'.
            - `rrule` string, required — The `RRULE` standard for defining recurring events. For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api).
            - `start` string, nullable — ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the downtime starts the moment it is created.
          - `timezone` string — The timezone in which to schedule the downtime.
        - DowntimeScheduleOneTimeCreateUpdateRequest — A one-time downtime definition.
          - `end` string, date-time, nullable — ISO-8601 Datetime to end the downtime. Must include a UTC offset of zero. If not provided, the downtime continues forever.
          - `start` string, date-time, nullable — ISO-8601 Datetime to start the downtime. Must include a UTC offset of zero. If not provided, the downtime starts the moment it is created.
      - `scope` string — The scope to which the downtime applies. Must follow the [common search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/).
    - `id` string, required — ID of this downtime.
    - `type` 'downtime', required — Downtime resource type.

## Response `200`

OK

- DowntimeResponse — Downtiming gives you greater control over monitor notifications by allowing you to globally exclude scopes from alerting. Downtime settings, which can be scheduled with start and end times, prevent all alerting related to specified Datadog tags.
  - `data` DowntimeResponseData — Downtime data.
    - `attributes` DowntimeResponseAttributes — Downtime details.
      - `canceled` string, date-time, nullable — Time that the downtime was canceled.
      - `created` string, date-time — Creation time of the downtime.
      - `display_timezone` string, nullable — The timezone in which to display the downtime's start and end times in Datadog applications. This is not used as an offset for scheduling.
      - `message` string, nullable — A message to include with notifications for this downtime. Email notifications can be sent to specific users by using the same `@username` notation as events.
      - `modified` string, date-time — Time that the downtime was last modified.
      - `monitor_identifier` union — Monitor identifier for the downtime.
        - DowntimeMonitorIdentifierId — Object of the monitor identifier.
          - `monitor_id` integer, required — ID of the monitor to prevent notifications.
        - DowntimeMonitorIdentifierTags — Object of the monitor tags.
          - `monitor_tags` string[], required — A list of monitor tags. For example, tags that are applied directly to monitors, not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. The resulting downtime applies to monitors that match **all** provided monitor tags. Setting `monitor_tags` to `[*]` configures the downtime to mute all monitors for the given scope.
      - `mute_first_recovery_notification` boolean — If the first recovery notification during a downtime should be muted.
      - `notify_end_states` DowntimeNotifyEndStateTypes[] — States that will trigger a monitor notification when the `notify_end_types` action occurs.
      - `notify_end_types` DowntimeNotifyEndStateActions[] — Actions that will trigger a monitor notification if the downtime is in the `notify_end_types` state.
      - `schedule` union — The schedule that defines when the monitor starts, stops, and recurs. There are two types of schedules: one-time and recurring. Recurring schedules may have up to five RRULE-based recurrences. If no schedules are provided, the downtime will begin immediately and never end.
        - DowntimeScheduleRecurrencesResponse — A recurring downtime schedule definition.
          - `current_downtime` DowntimeScheduleCurrentDowntimeResponse — The most recent actual start and end dates for a recurring downtime. For a canceled downtime, this is the previously occurring downtime. For active downtimes, this is the ongoing downtime, and for scheduled downtimes it is the upcoming downtime.
            - `end` string, date-time, nullable — The end of the current downtime.
            - `start` string, date-time — The start of the current downtime.
          - `recurrences` DowntimeScheduleRecurrenceResponse[], required — A list of downtime recurrences.
            - `duration` string — The length of the downtime. Must begin with an integer and end with one of 'm', 'h', d', or 'w'.
            - `rrule` string — The `RRULE` standard for defining recurring events. For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api).
            - `start` string — ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the downtime starts the moment it is created.
          - `timezone` string — The timezone in which to schedule the downtime. This affects recurring start and end dates. Must match `display_timezone`.
        - DowntimeScheduleOneTimeResponse — A one-time downtime definition.
          - `end` string, date-time, nullable — ISO-8601 Datetime to end the downtime.
          - `start` string, date-time, required — ISO-8601 Datetime to start the downtime.
      - `scope` string — The scope to which the downtime applies. Must follow the [common search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/).
      - `status` 'active' | 'canceled' | 'ended' | 'scheduled' — The current status of the downtime.
    - `id` string — The downtime ID.
    - `relationships` DowntimeRelationships — All relationships associated with downtime.
      - `created_by` DowntimeRelationshipsCreatedBy — The user who created the downtime.
        - `data` DowntimeRelationshipsCreatedByData, nullable — Data for the user who created the downtime.
          - `id` string — User ID of the downtime creator.
          - `type` 'users' — Users resource type.
      - `monitor` DowntimeRelationshipsMonitor — The monitor identified by the downtime.
        - `data` DowntimeRelationshipsMonitorData, nullable — Data for the monitor.
          - `id` string — Monitor ID of the downtime.
          - `type` 'monitors' — Monitor resource type.
    - `type` 'downtime' — Downtime resource type.
  - `included` DowntimeResponseIncludedItem[] — Array of objects related to the downtime that the user requested.
    - union — An object related to a downtime.
      - User — User object returned by the API.
        - `attributes` UserAttributes — Attributes of user object returned by the API.
          - `created_at` string, date-time — The ISO 8601 timestamp of when the user account was created.
          - `disabled` boolean — Whether the user account is deactivated. Disabled users cannot log in.
          - `email` string — The email address of the user, used for login and notifications.
          - `handle` string — The unique handle (username) of the user, typically matching their email prefix.
          - `icon` string — URL of the user's profile icon, typically a Gravatar URL derived from the email address.
          - `last_login_time` string, date-time, nullable — The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in.
          - `mfa_enabled` boolean — Whether multi-factor authentication (MFA) is enabled for the user's account.
          - `modified_at` string, date-time — The ISO 8601 timestamp of when the user account was last modified.
          - `name` string, nullable — The full display name of the user as shown in the Datadog UI.
          - `service_account` boolean — Whether this is a service account rather than a human user. Service accounts are used for programmatic API access.
          - `status` string — The current status of the user account (for example, `Active`, `Pending`, or `Disabled`).
          - `title` string, nullable — The job title of the user (for example, "Senior Engineer" or "Product Manager").
          - `uuid` string — The globally unique identifier (UUID) of the user.
          - `verified` boolean — Whether the user's email address has been verified.
        - `id` string — ID of the user.
        - `relationships` UserResponseRelationships — Relationships of the user object returned by the API.
          - `org` RelationshipToOrganization — Relationship to an organization.
            - `data` RelationshipToOrganizationData, required — Relationship to organization object.
              - …
          - `other_orgs` RelationshipToOrganizations — Relationship to organizations.
            - `data` RelationshipToOrganizationData[], required — Relationships to organization objects.
              - …
          - `other_users` RelationshipToUsers — Relationship to users.
            - `data` RelationshipToUserData[], required — Relationships to user objects.
              - …
          - `roles` RelationshipToRoles — Relationship to roles.
            - `data` RelationshipToRoleData[] — An array containing type and the unique identifier of a role.
              - …
        - `type` 'users' — Users resource type.
      - DowntimeMonitorIncludedItem — Information about the monitor identified by the downtime.
        - `attributes` DowntimeMonitorIncludedAttributes — Attributes of the monitor identified by the downtime.
          - `name` string — The name of the monitor identified by the downtime.
        - `id` integer — ID of the monitor identified by the downtime.
        - `type` 'monitors' — Monitor resource type.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Downtime not found
- `429` — Too many requests

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
