Datadog Schedules API

The Schedules API from Datadog — 4 operation(s) for schedules.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

datadog-schedules-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: support@datadoghq.com
    name: Datadog Support
    url: https://www.datadoghq.com/support/
  description: The Datadog API is an HTTP REST API. The API uses resource-oriented URLs to call the API, uses status codes to indicate the success or failure of requests, returns JSON from all requests, and uses standard HTTP response codes. Use the Datadog API to access the Datadog platform programmatically.
  title: Datadog Account Schedules API
  version: '1.0'
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
      - datadoghq.eu
      - ddog-gov.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:
- name: Schedules
paths:
  /api/v2/downtime:
    post:
      description: Schedule a downtime.
      operationId: CreateDowntime
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DowntimeCreateRequest'
        description: Schedule a downtime request body.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DowntimeResponse'
          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:
        - monitors_downtime
      summary: Datadog Schedule a Downtime
      tags:
      - Schedules
      x-codegen-request-body-name: body
      x-given:
        downtime_v2:
          parameters:
          - name: body
            value: "{\n  \"data\": {\n    \"attributes\": {\n      \"message\": \"test message\",\n      \"monitor_identifier\": {\n        \"monitor_tags\": [\"cat:hat\"]\n      },\n      \"scope\": \"test:{{ unique_lower_alnum }}\",\n      \"schedule\": {\n        \"start\": null\n      }\n    },\n    \"type\": \"downtime\"\n  }\n}"
          step: there is a valid "downtime_v2" in the system
      x-menu-order: 2
      x-permission:
        operator: OR
        permissions:
        - monitors_downtime
      x-undo:
        operationId: CancelDowntime
        parameters:
        - name: downtime_id
          source: data.id
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/on-call/schedules:
    post:
      description: Create a new On-Call schedule
      operationId: CreateOnCallSchedule
      parameters:
      - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.'
        in: query
        name: include
        schema:
          type: string
        example: example_value
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleCreateRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
          description: Created
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ: []
      summary: Datadog Create On-call Schedule
      tags:
      - Schedules
      x-given:
        schedule:
          parameters:
          - name: body
            value: "{\n  \"data\": {\n    \"attributes\": {\n      \"layers\": [\n        {\n          \"effective_date\": \"{{ timeISO('now - 10d') }}\",\n          \"end_date\": \"{{ timeISO('now + 10d') }}\",\n          \"interval\": {\n            \"days\": 1\n          },\n          \"members\": [\n            {\n              \"user\": {\n                \"id\": \"{{ user.data.id }}\"\n              }\n            }\n          ],\n          \"name\": \"Layer 1\",\n          \"restrictions\": [\n            {\n              \"end_day\": \"friday\",\n              \"end_time\": \"17:00:00\",\n              \"start_day\": \"monday\",\n              \"start_time\": \"09:00:00\"\n            }\n          ],\n          \"rotation_start\": \"{{ timeISO('now - 5d') }}\"\n        }\n      ],\n      \"name\": \"{{ unique }}\",\n      \"time_zone\": \"America/New_York\"\n    },\n    \"relationships\": {\n      \"teams\": {\n        \"data\": [\n          {\n            \"id\": \"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\n            \"type\": \"teams\"\n          }\n        ]\n      }\n    },\n    \"type\": \"schedules\"\n  }\n}"
          step: there is a valid "schedule" in the system
      x-menu-order: 1
      x-permission:
        operator: AND
        permissions:
        - on_call_write
      x-undo:
        operationId: DeleteOnCallSchedule
        parameters:
        - name: schedule_id
          source: data.id
        type: unsafe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/on-call/schedules/{schedule_id}:
    delete:
      description: Delete an On-Call schedule
      operationId: DeleteOnCallSchedule
      parameters:
      - description: The ID of the schedule
        in: path
        name: schedule_id
        required: true
        schema:
          example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
          type: string
        example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
      responses:
        '204':
          description: No Content
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ: []
      summary: Datadog Delete On-call Schedule
      tags:
      - Schedules
      x-menu-order: 3
      x-permission:
        operator: AND
        permissions:
        - on_call_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      description: Get an On-Call schedule
      operationId: GetOnCallSchedule
      parameters:
      - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.'
        in: query
        name: include
        schema:
          type: string
        example: example_value
      - description: The ID of the schedule
        in: path
        name: schedule_id
        required: true
        schema:
          example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
          type: string
        example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
          description: OK
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ: []
      summary: Datadog Get On-call Schedule
      tags:
      - Schedules
      x-menu-order: 2
      x-permission:
        operator: AND
        permissions:
        - on_call_read
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      description: Update a new On-Call schedule
      operationId: UpdateOnCallSchedule
      parameters:
      - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.'
        in: query
        name: include
        schema:
          type: string
        example: example_value
      - description: The ID of the schedule
        in: path
        name: schedule_id
        required: true
        schema:
          example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
          type: string
        example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Schedule'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ: []
      summary: Datadog Update On-call Schedule
      tags:
      - Schedules
      x-menu-order: 4
      x-permission:
        operator: AND
        permissions:
        - on_call_write
      x-undo:
        type: idempotent
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v2/on-call/schedules/{schedule_id}/on-call:
    get:
      description: Retrieves the user who is on-call for the specified schedule at a given time.
      operationId: GetScheduleOnCallUser
      parameters:
      - description: 'Specifies related resources to include in the response as a comma-separated list. Allowed value: `user`.'
        in: query
        name: include
        schema:
          type: string
        example: example_value
      - description: The ID of the schedule.
        in: path
        name: schedule_id
        required: true
        schema:
          example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
          type: string
        example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d
      - description: Retrieves the on-call user at the given timestamp (ISO-8601). Defaults to the current time if omitted."
        in: query
        name: filter[at_ts]
        schema:
          example: '2025-05-07T02:53:01Z'
          type: string
        example: '2025-05-07T02:53:01Z'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shift'
          description: OK
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '429':
          $ref: '#/components/responses/TooManyRequestsResponse'
      security:
      - apiKeyAuth: []
        appKeyAuth: []
      - AuthZ: []
      summary: Datadog Get the Schedule On-call User
      tags:
      - Schedules
      x-menu-order: 11
      x-undo:
        type: safe
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    UsersType:
      default: users
      description: Users resource type.
      enum:
      - users
      example: users
      type: string
      x-enum-varnames:
      - USERS
    ScheduleMemberRelationshipsUserDataType:
      default: users
      description: Users resource type.
      enum:
      - users
      example: users
      type: string
      x-enum-varnames:
      - USERS
    DowntimeScheduleRecurrencesCreateRequest:
      description: A recurring downtime schedule definition.
      properties:
        recurrences:
          description: A list of downtime recurrences.
          items:
            $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest'
          type: array
        timezone:
          default: UTC
          description: The timezone in which to schedule the downtime.
          example: America/New_York
          type: string
      required:
      - recurrences
      type: object
    DowntimeRelationshipsMonitorData:
      description: Data for the monitor.
      nullable: true
      properties:
        id:
          description: Monitor ID of the downtime.
          example: '12345'
          type: string
        type:
          $ref: '#/components/schemas/DowntimeIncludedMonitorType'
      type: object
    DowntimeScheduleCurrentDowntimeResponse:
      description: '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.'
      properties:
        end:
          description: The end of the current downtime.
          example: '2020-01-02T03:04:00.000Z'
          format: date-time
          nullable: true
          type: string
        start:
          description: The start of the current downtime.
          example: '2020-01-02T03:04:00.000Z'
          format: date-time
          type: string
      type: object
    DowntimeScheduleResponse:
      description: '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.'
      oneOf:
      - $ref: '#/components/schemas/DowntimeScheduleRecurrencesResponse'
      - $ref: '#/components/schemas/DowntimeScheduleOneTimeResponse'
    DowntimeRelationshipsCreatedByData:
      description: Data for the user who created the downtime.
      nullable: true
      properties:
        id:
          description: User ID of the downtime creator.
          example: 00000000-0000-1234-0000-000000000000
          type: string
        type:
          $ref: '#/components/schemas/UsersType'
      type: object
    ScheduleMemberRelationshipsUserData:
      description: Points to the user data associated with this schedule member, including an ID and type.
      properties:
        id:
          description: The user's unique identifier.
          example: 00000000-aba1-0000-0000-000000000000
          type: string
        type:
          $ref: '#/components/schemas/ScheduleMemberRelationshipsUserDataType'
      required:
      - type
      - id
      type: object
    ScheduleRequestDataAttributesLayersItemsMembersItemsUser:
      description: Identifies the user participating in this layer as a single object with an `id`.
      properties:
        id:
          description: The user's ID.
          example: 00000000-aba1-0000-0000-000000000000
          type: string
      type: object
    DowntimeScheduleRecurrenceCreateUpdateRequest:
      additionalProperties: {}
      description: An object defining the recurrence of the downtime.
      properties:
        duration:
          $ref: '#/components/schemas/DowntimeScheduleRecurrenceDuration'
        rrule:
          $ref: '#/components/schemas/DowntimeScheduleRecurrenceRrule'
        start:
          description: 'ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the

            downtime starts the moment it is created.'
          example: 2020-01-02T03:04
          nullable: true
          type: string
      required:
      - duration
      - rrule
      type: object
    UserAttributes:
      description: Attributes of user object returned by the API.
      properties:
        created_at:
          description: Creation time of the user.
          format: date-time
          type: string
          example: example_value
        disabled:
          description: Whether the user is disabled.
          type: boolean
          example: true
        email:
          description: Email of the user.
          type: string
          example: user@example.com
        handle:
          description: Handle of the user.
          type: string
          example: example_value
        icon:
          description: URL of the user's icon.
          type: string
          example: example_value
        mfa_enabled:
          description: If user has MFA enabled.
          readOnly: true
          type: boolean
          example: true
        modified_at:
          description: Time that the user was last modified.
          format: date-time
          type: string
          example: example_value
        name:
          description: Name of the user.
          nullable: true
          type: string
          example: Example Monitor
        service_account:
          description: Whether the user is a service account.
          type: boolean
          example: true
        status:
          description: Status of the user.
          type: string
          example: OK
        title:
          description: Title of the user.
          nullable: true
          type: string
          example: Example Monitor
        verified:
          description: Whether the user is verified.
          type: boolean
          example: true
      type: object
    ScheduleDataAttributes:
      description: Provides core properties of a schedule object such as its name and time zone.
      properties:
        name:
          description: A short name for the schedule.
          example: Primary On-Call
          type: string
        time_zone:
          description: The time zone in which this schedule operates.
          example: America/New_York
          type: string
      type: object
    ScheduleUpdateRequestDataAttributesLayersItems:
      description: 'Represents a layer within a schedule update, including rotation details, members,

        and optional restrictions.'
      properties:
        effective_date:
          description: When this updated layer takes effect (ISO 8601 format).
          example: '2025-02-03T05:00:00Z'
          format: date-time
          type: string
        end_date:
          description: When this updated layer should stop being active (ISO 8601 format).
          example: '2025-12-31T00:00:00Z'
          format: date-time
          type: string
        id:
          description: A unique identifier for the layer being updated.
          example: 00000000-0000-0000-0000-000000000001
          type: string
        interval:
          $ref: '#/components/schemas/LayerAttributesInterval'
        members:
          description: The members assigned to this layer.
          items:
            $ref: '#/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems'
          type: array
        name:
          description: The name for this layer (for example, "Secondary Coverage").
          example: Primary On-Call Layer
          type: string
        restrictions:
          description: Any time restrictions that define when this layer is active.
          items:
            $ref: '#/components/schemas/TimeRestriction'
          type: array
        rotation_start:
          description: The date/time at which the rotation begins (ISO 8601 format).
          example: '2025-02-01T00:00:00Z'
          format: date-time
          type: string
      required:
      - effective_date
      - interval
      - members
      - name
      - rotation_start
      type: object
    LayerAttributesInterval:
      description: Defines how often the rotation repeats, using a combination of days and optional seconds.
      properties:
        days:
          description: The number of days in each rotation cycle.
          example: 1
          format: int32
          maximum: 400
          type: integer
        seconds:
          description: Any additional seconds for the rotation cycle (up to 30 days).
          example: 300
          format: int64
          maximum: 2592000
          type: integer
      type: object
    DowntimeScheduleRecurrenceRrule:
      description: '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).'
      example: FREQ=MONTHLY;BYSETPOS=3;BYDAY=WE;INTERVAL=1
      type: string
    DowntimeIncludedMonitorType:
      default: monitors
      description: Monitor resource type.
      enum:
      - monitors
      example: monitors
      type: string
      x-enum-varnames:
      - MONITORS
    UserAttributesStatus:
      description: The user's status.
      enum:
      - active
      - deactivated
      - pending
      type: string
      x-enum-varnames:
      - ACTIVE
      - DEACTIVATED
      - PENDING
    ScheduleMemberRelationshipsUser:
      description: Wraps the user data reference for a schedule member.
      properties:
        data:
          $ref: '#/components/schemas/ScheduleMemberRelationshipsUserData'
      required:
      - data
      type: object
    LayerType:
      default: layers
      description: Layers resource type.
      enum:
      - layers
      example: layers
      type: string
      x-enum-varnames:
      - LAYERS
    DataRelationshipsTeams:
      description: Associates teams with this schedule in a data structure.
      properties:
        data:
          description: An array of team references for this schedule.
          items:
            $ref: '#/components/schemas/DataRelationshipsTeamsDataItems'
          type: array
      type: object
    ScheduleDataRelationshipsLayersDataItems:
      description: Relates a layer to this schedule, identified by `id` and `type` (must be `layers`).
      properties:
        id:
          description: The unique identifier of the layer in this relationship.
          example: 00000000-0000-0000-0000-000000000001
          type: string
        type:
          $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItemsType'
      required:
      - type
      - id
      type: object
    ScheduleCreateRequestDataAttributesLayersItems:
      description: Describes a schedule layer, including rotation intervals, members, restrictions, and timeline settings.
      properties:
        effective_date:
          description: The date/time when this layer becomes active (in ISO 8601).
          example: '2025-01-01T00:00:00Z'
          format: date-time
          type: string
        end_date:
          description: The date/time after which this layer no longer applies (in ISO 8601).
          format: date-time
          type: string
          example: '2026-04-17T12:00:00Z'
        interval:
          $ref: '#/components/schemas/LayerAttributesInterval'
        members:
          description: A list of members who participate in this layer's rotation.
          items:
            $ref: '#/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems'
          type: array
        name:
          description: The name of this layer.
          example: Primary On-Call Layer
          type: string
        restrictions:
          description: Zero or more time-based restrictions (for example, only weekdays, during business hours).
          items:
            $ref: '#/components/schemas/TimeRestriction'
          type: array
        rotation_start:
          description: The date/time when the rotation for this layer starts (in ISO 8601).
          example: '2025-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
      - name
      - interval
      - rotation_start
      - effective_date
      - members
      type: object
    User:
      description: User object returned by the API.
      properties:
        attributes:
          $ref: '#/components/schemas/UserAttributes'
        id:
          description: ID of the user.
          type: string
          example: abc-123-def
        relationships:
          $ref: '#/components/schemas/UserResponseRelationships'
        type:
          $ref: '#/components/schemas/UsersType'
      type: object
      x-merge-override:
        required: false
    LayerAttributes:
      description: Describes key properties of a Layer, including rotation details, name, start/end times, and any restrictions.
      properties:
        effective_date:
          description: When the layer becomes active (ISO 8601).
          format: date-time
          type: string
          example: '2026-04-17T12:00:00Z'
        end_date:
          description: When the layer ceases to be active (ISO 8601).
          format: date-time
          type: string
          example: '2026-04-17T12:00:00Z'
        interval:
          $ref: '#/components/schemas/LayerAttributesInterval'
        name:
          description: The name of this layer.
          example: Weekend Layer
          type: string
        restrictions:
          description: An optional list of time restrictions for when this layer is in effect.
          items:
            $ref: '#/components/schemas/TimeRestriction'
          type: array
        rotation_start:
          description: The date/time when the rotation starts (ISO 8601).
          format: date-time
          type: string
          example: example_value
      type: object
    ScheduleCreateRequestDataRelationships:
      description: Gathers relationship objects for the schedule creation request, including the teams to associate.
      properties:
        teams:
          $ref: '#/components/schemas/DataRelationshipsTeams'
      type: object
    ScheduleMemberRelationships:
      description: Defines relationships for a schedule member, primarily referencing a single user.
      properties:
        user:
          $ref: '#/components/schemas/ScheduleMemberRelationshipsUser'
      type: object
    ScheduleUpdateRequestDataAttributes:
      description: Defines the updatable attributes for a schedule, such as name, time zone, and layers.
      properties:
        layers:
          description: The updated list of layers (rotations) for this schedule.
          items:
            $ref: '#/components/schemas/ScheduleUpdateRequestDataAttributesLayersItems'
          type: array
        name:
          description: A short name for the schedule.
          example: Primary On-Call
          type: string
        time_zone:
          description: The time zone used when interpreting rotation times.
          example: America/New_York
          type: string
      required:
      - name
      - time_zone
      - layers
      type: object
    DowntimeDisplayTimezone:
      default: UTC
      description: '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.'
      example: America/New_York
      nullable: true
      type: string
    ScheduleDataRelationshipsLayersDataItemsType:
      default: layers
      description: Layers resource type.
      enum:
      - layers
      example: layers
      type: string
      x-enum-varnames:
      - LAYERS
    DowntimeResponseAttributes:
      description: Downtime details.
      properties:
        canceled:
          description: Time that the downtime was canceled.
          example: 2020-01-02T03:04:05.282979+0000
          format: date-time
          nullable: true
          type: string
        created:
          description: Creation time of the downtime.
          example: 2020-01-02T03:04:05.282979+0000
          format: date-time
          type: string
        display_timezone:
          $ref: '#/components/schemas/DowntimeDisplayTimezone'
        message:
          $ref: '#/components/schemas/DowntimeMessage'
        modified:
          description: Time that the downtime was last modified.
          example: 2020-01-02T03:04:05.282979+0000
          format: date-time
          type: string
        monitor_identifier:
          $ref: '#/components/schemas/DowntimeMonitorIdentifier'
        mute_first_recovery_notification:
          $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification'
        notify_end_states:
          $ref: '#/components/schemas/DowntimeNotifyEndStates'
        notify_end_types:
          $ref: '#/components/schemas/DowntimeNotifyEndTypes'
        schedule:
          $ref: '#/components/schemas/DowntimeScheduleResponse'
        scope:
          $ref: '#/components/schemas/DowntimeScope'
        status:
          $ref: '#/components/schemas/DowntimeStatus'
      type: object
    RelationshipToOrganization:
      description: Relationship to an organization.
      properties:
        data:
          $ref: '#/components/schemas/RelationshipToOrganizationData'
      required:
      - data
      type: object
    DowntimeCreateRequestAttributes:
      description: Downtime details.
      properties:
        display_timezone:
          $ref: '#/components/schemas/DowntimeDisplayTimezone'
        message:
          $ref: '#/components/schemas/DowntimeMessage'
        monitor_identifier:
          $ref: '#/components/schemas/DowntimeMonitorIdentifier'
        mute_first_recovery_notification:
          $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification'
        notify_end_states:
          $ref: '#/components/schemas/DowntimeNotifyEndStates'
        notify_end_types:
          $ref: '#/components/schemas/DowntimeNotifyEndTypes'
        schedule:
          $ref: '#/components/schemas/DowntimeScheduleCreateRequest'
        scope:
          $ref: '#/components/schemas/DowntimeScope'
      required:
      - scope
      - monitor_identifier
      type: object
    ScheduleDataRelationshipsLayers:
      description: Associates layers with this schedule in a data structure.
      properties:
        data:
          description: An array of layer references for this schedule.
          items:
            $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItems'
          type: array
      type: object
    RelationshipToUserData:
      description: Relationship to user object.
      properties:
        id:
          description: A unique identifier that represents the user.
          example: 00000000-0000-0000-2345-000000000000
          type: string
        type:
          $ref: '#/components/schemas/UsersType'
      required:
      - id
      - type
      type: object
      x-merge-override:
        required: false
    DataRelationshipsTeamsD

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/openapi/datadog-schedules-api-openapi.yml