Create backfilled degradation

POST https://api.ap1.datadoghq.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.ap2.datadoghq.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.datadoghq.eu/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.ddog-gov.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.us2.ddog-gov.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.datadoghq.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.us3.datadoghq.com/api/v2/statuspages/{page_id}/degradations/backfillhttps://api.us5.datadoghq.com/api/v2/statuspages/{page_id}/degradations/backfill

Overview

Creates a backfilled degradation with predefined updates. This endpoint requires the status_pages_incident_write permission.

Arguments

Path Parameters

Name

Type

Description

page_id [required]

string

The ID of the status page.

Query Strings

Name

Type

Description

include

string

Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.

Request

Body Data (required)

Expand All

Field

Type

Description

data

object

The data object for creating a backfilled degradation.

attributes

object

The supported attributes for creating a backfilled degradation.

title [required]

string

The title of the backfilled degradation.

updates [required]

[object]

The list of status updates describing the timeline of the degradation.

components_affected

[object]

The components affected.

id [required]

uuid

The ID of the component. Must be a component of type component.

name

string

The name of the component.

status [required]

enum

The status of the component. Allowed enum values: operational,degraded,partial_outage,major_outage,maintenance

description

string

A description of the update.

started_at [required]

date-time

Timestamp of when the update occurred.

status [required]

enum

The status of the degradation. Allowed enum values: investigating,identified,monitoring,resolved

type [required]

enum

Degradations resource type. Allowed enum values: degradations

default: degradations

{
  "data": {
    "attributes": {
      "title": "Past API Outage",
      "updates": [
        {
          "components_affected": [
            {
              "id": "4e9d3726-bdd7-0079-613c-e9aaba89eb01",
              "status": "degraded"
            }
          ],
          "description": "We detected elevated error rates in the API.",
          "started_at": "2021-11-11T10:11:11+00:00",
          "status": "investigating"
        },
        {
          "components_affected": [
            {
              "id": "4e9d3726-bdd7-0079-613c-e9aaba89eb01",
              "status": "degraded"
            }
          ],
          "description": "Root cause identified as a misconfigured deployment.",
          "started_at": "2021-11-11T10:41:11+00:00",
          "status": "identified"
        },
        {
          "components_affected": [
            {
              "id": "4e9d3726-bdd7-0079-613c-e9aaba89eb01",
              "status": "operational"
            }
          ],
          "description": "The issue has been resolved and API is operating normally.",
          "started_at": "2021-11-11T11:11:11+00:00",
          "status": "resolved"
        }
      ]
    },
    "type": "degradations"
  }
}

Response

Created

Response object for a single degradation.

Expand All

Field

Type

Description

data

object

The data object for a degradation.

attributes

object

The attributes of a degradation.

components_affected

[object]

Components affected by the degradation.

id [required]

uuid

The ID of the component.

name

string

The name of the component.

status [required]

enum

The status of the component. Allowed enum values: operational,degraded,partial_outage,major_outage,maintenance

created_at

date-time

Timestamp of when the degradation was created.

description

string

Description of the degradation.

is_backfilled

boolean

Whether the degradation was backfilled.

modified_at

date-time

Timestamp of when the degradation was last modified.

source

object

The source of the degradation.

created_at [required]

date-time

Timestamp of when the source was created.

source_id [required]

string

The ID of the source.

type [required]

enum

The type of the source. Allowed enum values: incident

status

enum

The status of the degradation. Allowed enum values: investigating,identified,monitoring,resolved

title

string

Title of the degradation.

updates

[object]

Past updates made to the degradation.

components_affected

[object]

The components affected at the time of the update.

id [required]

uuid

Identifier of the component affected at the time of the update.

name

string

The name of the component affected at the time of the update.

status [required]

enum

The status of the component affected at the time of the update. Allowed enum values: operational,degraded,partial_outage,major_outage,maintenance

created_at

date-time

Timestamp of when the update was created.

description

string

Description of the update.

id

uuid

Identifier of the update.

last_modified_by_user_uuid

string

UUID of the user who last modified the resource.

modified_at

date-time

Timestamp of when the update was last modified.

started_at

date-time

Timestamp of when the update started.

status

enum

The status of the degradation. Allowed enum values: investigating,identified,monitoring,resolved

id

uuid

The ID of the degradation.

relationships

object

The relationships of a degradation.

created_by_user

object

The Datadog user who created the degradation.

data [required]

object

The data object identifying the Datadog user who created the degradation.

id [required]

string

The ID of the Datadog user who created the degradation.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

last_modified_by_user

object

The Datadog user who last modified the degradation.

data [required]

object

The data object identifying the Datadog user who last modified the degradation.

id [required]

string

The ID of the Datadog user who last modified the degradation.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

status_page

object

The status page the degradation belongs to.

data [required]

object

The data object identifying the status page the degradation belongs to.

id [required]

uuid

The ID of the status page.

type [required]

enum

Status pages resource type. Allowed enum values: status_pages

default: status_pages

type [required]

enum

Degradations resource type. Allowed enum values: degradations

default: degradations

included

[ <oneOf>]

The included related resources of a degradation. Client must explicitly request these resources by name in the include query parameter.

Option 1

object

The included Datadog user resource.

attributes

object

Attributes of the Datadog user.

email

string

The email of the Datadog user.

handle

string

The handle of the Datadog user.

icon

string

The icon of the Datadog user.

name

string

The name of the Datadog user.

uuid

string

The UUID of the Datadog user.

id

uuid

The ID of the Datadog user.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

Option 2

object

The included status page resource.

attributes

object

The attributes of a status page.

company_logo

string

The base64-encoded image data displayed in the company logo.

components

[object]

Components displayed on the status page.

components

[object]

If the component is of type group, the components within the group.

id

uuid

The ID of the grouped component.

name

string

The name of the grouped component.

position

int64

The zero-indexed position of the grouped component. Relative to the other components in the group.

status

enum

The status of the component. Allowed enum values: operational,degraded,partial_outage,major_outage,maintenance

type

enum

The type of the component. Allowed enum values: component

id

uuid

The ID of the component.

name

string

The name of the component.

position

int64

The zero-indexed position of the component.

status

enum

The status of the component. Allowed enum values: operational,degraded,partial_outage,major_outage,maintenance

type

enum

The type of the component. Allowed enum values: component,group

created_at

date-time

Timestamp of when the status page was created.

custom_domain

string

If configured, the url that the status page is accessible at.

custom_domain_enabled

boolean

Whether the custom domain is configured.

domain_prefix

string

The subdomain of the status page's url taking the form https://{domain_prefix}.statuspage.datadoghq.com. Globally unique across Datadog Status Pages.

email_header_image

string

Base64-encoded image data included in email notifications sent to status page subscribers.

enabled

boolean

Whether the status page is enabled.

favicon

string

Base64-encoded image data displayed in the browser tab.

modified_at

date-time

Timestamp of when the status page was last modified.

name

string

The name of the status page.

page_url

string

The url that the status page is accessible at.

subscriptions_enabled

boolean

Whether users can subscribe to the status page.

type

enum

The type of the status page controlling how the status page is accessed. Allowed enum values: public,internal

visualization_type

enum

The visualization type of the status page. Allowed enum values: bars_and_uptime_percentage,bars_only,component_name_only

id

uuid

The ID of the status page.

relationships

object

The relationships of a status page.

created_by_user

object

The Datadog user who created the status page.

data [required]

object

The data object identifying the Datadog user who created the status page.

id [required]

string

The ID of the Datadog user who created the status page.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

last_modified_by_user

object

The Datadog user who last modified the status page.

data [required]

object

The data object identifying the Datadog user who last modified the status page.

id [required]

string

The ID of the Datadog user who last modified the status page.

type [required]

enum

Users resource type. Allowed enum values: users

default: users

type [required]

enum

Status pages resource type. Allowed enum values: status_pages

default: status_pages

{
  "data": {
    "attributes": {
      "components_affected": [
        {
          "id": "1234abcd-12ab-34cd-56ef-123456abcdef",
          "name": "string",
          "status": "operational"
        }
      ],
      "created_at": "2019-09-19T10:00:00.000Z",
      "description": "string",
      "is_backfilled": false,
      "modified_at": "2019-09-19T10:00:00.000Z",
      "source": {
        "created_at": "",
        "source_id": "",
        "type": "incident"
      },
      "status": "investigating",
      "title": "string",
      "updates": [
        {
          "components_affected": [
            {
              "id": "1234abcd-12ab-34cd-56ef-123456abcdef",
              "name": "string",
              "status": "operational"
            }
          ],
          "created_at": "2019-09-19T10:00:00.000Z",
          "description": "string",
          "id": "string",
          "last_modified_by_user_uuid": "string",
          "modified_at": "2019-09-19T10:00:00.000Z",
          "started_at": "2019-09-19T10:00:00.000Z",
          "status": "investigating"
        }
      ]
    },
    "id": "string",
    "relationships": {
      "created_by_user": {
        "data": {
          "id": "",
          "type": "users"
        }
      },
      "last_modified_by_user": {
        "data": {
          "id": "",
          "type": "users"
        }
      },
      "status_page": {
        "data": {
          "id": "1234abcd-12ab-34cd-56ef-123456abcdef",
          "type": "status_pages"
        }
      }
    },
    "type": "degradations"
  },
  "included": [
    {
      "attributes": {
        "email": "string",
        "handle": "string",
        "icon": "string",
        "name": "string",
        "uuid": "string"
      },
      "id": "string",
      "type": "users"
    }
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                          ## default
# 

# Path parameters
export page_id="CHANGE_ME"
# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/statuspages/${page_id}/degradations/backfill" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "title": "Past API Outage", "updates": [ { "components_affected": [ { "id": "1234abcd-12ab-34cd-56ef-123456abcdef", "status": "degraded" } ], "description": "We detected elevated error rates in the API.", "started_at": "2026-04-27T13:37:31Z", "status": "investigating" }, { "components_affected": [ { "id": "1234abcd-12ab-34cd-56ef-123456abcdef", "status": "operational" } ], "description": "The issue has been resolved.", "started_at": "2026-04-27T14:37:31Z", "status": "resolved" } ] }, "type": "degradations" } } EOF
// Create backfilled degradation returns "Created" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"
	"time"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
	"github.com/google/uuid"
)

func main() {
	// there is a valid "status_page" in the system
	StatusPageDataAttributesComponents0Components0ID := uuid.MustParse(os.Getenv("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID"))
	StatusPageDataID := uuid.MustParse(os.Getenv("STATUS_PAGE_DATA_ID"))

	body := datadogV2.CreateBackfilledDegradationRequest{
		Data: &datadogV2.CreateBackfilledDegradationRequestData{
			Attributes: &datadogV2.CreateBackfilledDegradationRequestDataAttributes{
				Title: "Past API Outage",
				Updates: []datadogV2.CreateBackfilledDegradationRequestDataAttributesUpdatesItems{
					{
						ComponentsAffected: []datadogV2.CreateDegradationRequestDataAttributesComponentsAffectedItems{
							{
								Id:     StatusPageDataAttributesComponents0Components0ID,
								Status: datadogV2.STATUSPAGESCOMPONENTDATAATTRIBUTESSTATUS_DEGRADED,
							},
						},
						Description: datadog.PtrString("We detected elevated error rates in the API."),
						StartedAt:   time.Now().Add(time.Hour * -1),
						Status:      datadogV2.CREATEDEGRADATIONREQUESTDATAATTRIBUTESSTATUS_INVESTIGATING,
					},
					{
						ComponentsAffected: []datadogV2.CreateDegradationRequestDataAttributesComponentsAffectedItems{
							{
								Id:     StatusPageDataAttributesComponents0Components0ID,
								Status: datadogV2.STATUSPAGESCOMPONENTDATAATTRIBUTESSTATUS_DEGRADED,
							},
						},
						Description: datadog.PtrString("Root cause identified as a misconfigured deployment."),
						StartedAt:   time.Now().Add(time.Minute * -30),
						Status:      datadogV2.CREATEDEGRADATIONREQUESTDATAATTRIBUTESSTATUS_IDENTIFIED,
					},
					{
						ComponentsAffected: []datadogV2.CreateDegradationRequestDataAttributesComponentsAffectedItems{
							{
								Id:     StatusPageDataAttributesComponents0Components0ID,
								Status: datadogV2.STATUSPAGESCOMPONENTDATAATTRIBUTESSTATUS_OPERATIONAL,
							},
						},
						Description: datadog.PtrString("The issue has been resolved and API is operating normally."),
						StartedAt:   time.Now(),
						Status:      datadogV2.CREATEDEGRADATIONREQUESTDATAATTRIBUTESSTATUS_RESOLVED,
					},
				},
			},
			Type: datadogV2.PATCHDEGRADATIONREQUESTDATATYPE_DEGRADATIONS,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewStatusPagesApi(apiClient)
	resp, r, err := api.CreateBackfilledDegradation(ctx, StatusPageDataID, body, *datadogV2.NewCreateBackfilledDegradationOptionalParameters())

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `StatusPagesApi.CreateBackfilledDegradation`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `StatusPagesApi.CreateBackfilledDegradation`:\n%s\n", responseContent)
}

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Create backfilled degradation returns "Created" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.StatusPagesApi;
import com.datadog.api.client.v2.model.CreateBackfilledDegradationRequest;
import com.datadog.api.client.v2.model.CreateBackfilledDegradationRequestData;
import com.datadog.api.client.v2.model.CreateBackfilledDegradationRequestDataAttributes;
import com.datadog.api.client.v2.model.CreateBackfilledDegradationRequestDataAttributesUpdatesItems;
import com.datadog.api.client.v2.model.CreateDegradationRequestDataAttributesComponentsAffectedItems;
import com.datadog.api.client.v2.model.CreateDegradationRequestDataAttributesStatus;
import com.datadog.api.client.v2.model.Degradation;
import com.datadog.api.client.v2.model.PatchDegradationRequestDataType;
import com.datadog.api.client.v2.model.StatusPagesComponentDataAttributesStatus;
import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.Collections;
import java.util.UUID;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    StatusPagesApi apiInstance = new StatusPagesApi(defaultClient);

    // there is a valid "status_page" in the system
    UUID STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = null;
    try {
      STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID =
          UUID.fromString(
              System.getenv("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID"));
    } catch (IllegalArgumentException e) {
      System.err.println("Error parsing UUID: " + e.getMessage());
    }
    UUID STATUS_PAGE_DATA_ID = null;
    try {
      STATUS_PAGE_DATA_ID = UUID.fromString(System.getenv("STATUS_PAGE_DATA_ID"));
    } catch (IllegalArgumentException e) {
      System.err.println("Error parsing UUID: " + e.getMessage());
    }

    CreateBackfilledDegradationRequest body =
        new CreateBackfilledDegradationRequest()
            .data(
                new CreateBackfilledDegradationRequestData()
                    .attributes(
                        new CreateBackfilledDegradationRequestDataAttributes()
                            .title("Past API Outage")
                            .updates(
                                Arrays.asList(
                                    new CreateBackfilledDegradationRequestDataAttributesUpdatesItems()
                                        .componentsAffected(
                                            Collections.singletonList(
                                                new CreateDegradationRequestDataAttributesComponentsAffectedItems()
                                                    .id(
                                                        STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID)
                                                    .status(
                                                        StatusPagesComponentDataAttributesStatus
                                                            .DEGRADED)))
                                        .description("We detected elevated error rates in the API.")
                                        .startedAt(OffsetDateTime.now().plusHours(-1))
                                        .status(
                                            CreateDegradationRequestDataAttributesStatus
                                                .INVESTIGATING),
                                    new CreateBackfilledDegradationRequestDataAttributesUpdatesItems()
                                        .componentsAffected(
                                            Collections.singletonList(
                                                new CreateDegradationRequestDataAttributesComponentsAffectedItems()
                                                    .id(
                                                        STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID)
                                                    .status(
                                                        StatusPagesComponentDataAttributesStatus
                                                            .DEGRADED)))
                                        .description(
                                            "Root cause identified as a misconfigured deployment.")
                                        .startedAt(OffsetDateTime.now().plusMinutes(-30))
                                        .status(
                                            CreateDegradationRequestDataAttributesStatus
                                                .IDENTIFIED),
                                    new CreateBackfilledDegradationRequestDataAttributesUpdatesItems()
                                        .componentsAffected(
                                            Collections.singletonList(
                                                new CreateDegradationRequestDataAttributesComponentsAffectedItems()
                                                    .id(
                                                        STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID)
                                                    .status(
                                                        StatusPagesComponentDataAttributesStatus
                                                            .OPERATIONAL)))
                                        .description(
                                            "The issue has been resolved and API is operating"
                                                + " normally.")
                                        .startedAt(OffsetDateTime.now())
                                        .status(
                                            CreateDegradationRequestDataAttributesStatus
                                                .RESOLVED))))
                    .type(PatchDegradationRequestDataType.DEGRADATIONS));

    try {
      Degradation result = apiInstance.createBackfilledDegradation(STATUS_PAGE_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling StatusPagesApi#createBackfilledDegradation");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

Instructions

First install the library and its dependencies and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Create backfilled degradation returns "Created" response
"""

from datetime import datetime
from dateutil.relativedelta import relativedelta
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.status_pages_api import StatusPagesApi
from datadog_api_client.v2.model.create_backfilled_degradation_request import CreateBackfilledDegradationRequest
from datadog_api_client.v2.model.create_backfilled_degradation_request_data import (
    CreateBackfilledDegradationRequestData,
)
from datadog_api_client.v2.model.create_backfilled_degradation_request_data_attributes import (
    CreateBackfilledDegradationRequestDataAttributes,
)
from datadog_api_client.v2.model.create_backfilled_degradation_request_data_attributes_updates_items import (
    CreateBackfilledDegradationRequestDataAttributesUpdatesItems,
)
from datadog_api_client.v2.model.create_degradation_request_data_attributes_components_affected_items import (
    CreateDegradationRequestDataAttributesComponentsAffectedItems,
)
from datadog_api_client.v2.model.create_degradation_request_data_attributes_status import (
    CreateDegradationRequestDataAttributesStatus,
)
from datadog_api_client.v2.model.patch_degradation_request_data_type import PatchDegradationRequestDataType
from datadog_api_client.v2.model.status_pages_component_data_attributes_status import (
    StatusPagesComponentDataAttributesStatus,
)

# there is a valid "status_page" in the system
STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = environ[
    "STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID"
]
STATUS_PAGE_DATA_ID = environ["STATUS_PAGE_DATA_ID"]

body = CreateBackfilledDegradationRequest(
    data=CreateBackfilledDegradationRequestData(
        attributes=CreateBackfilledDegradationRequestDataAttributes(
            title="Past API Outage",
            updates=[
                CreateBackfilledDegradationRequestDataAttributesUpdatesItems(
                    components_affected=[
                        CreateDegradationRequestDataAttributesComponentsAffectedItems(
                            id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                            status=StatusPagesComponentDataAttributesStatus.DEGRADED,
                        ),
                    ],
                    description="We detected elevated error rates in the API.",
                    started_at=(datetime.now() + relativedelta(hours=-1)),
                    status=CreateDegradationRequestDataAttributesStatus.INVESTIGATING,
                ),
                CreateBackfilledDegradationRequestDataAttributesUpdatesItems(
                    components_affected=[
                        CreateDegradationRequestDataAttributesComponentsAffectedItems(
                            id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                            status=StatusPagesComponentDataAttributesStatus.DEGRADED,
                        ),
                    ],
                    description="Root cause identified as a misconfigured deployment.",
                    started_at=(datetime.now() + relativedelta(minutes=-30)),
                    status=CreateDegradationRequestDataAttributesStatus.IDENTIFIED,
                ),
                CreateBackfilledDegradationRequestDataAttributesUpdatesItems(
                    components_affected=[
                        CreateDegradationRequestDataAttributesComponentsAffectedItems(
                            id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                            status=StatusPagesComponentDataAttributesStatus.OPERATIONAL,
                        ),
                    ],
                    description="The issue has been resolved and API is operating normally.",
                    started_at=datetime.now(),
                    status=CreateDegradationRequestDataAttributesStatus.RESOLVED,
                ),
            ],
        ),
        type=PatchDegradationRequestDataType.DEGRADATIONS,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = StatusPagesApi(api_client)
    response = api_instance.create_backfilled_degradation(page_id=STATUS_PAGE_DATA_ID, body=body)

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Create backfilled degradation returns "Created" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::StatusPagesAPI.new

# there is a valid "status_page" in the system
STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = ENV["STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID"]
STATUS_PAGE_DATA_ID = ENV["STATUS_PAGE_DATA_ID"]

body = DatadogAPIClient::V2::CreateBackfilledDegradationRequest.new({
  data: DatadogAPIClient::V2::CreateBackfilledDegradationRequestData.new({
    attributes: DatadogAPIClient::V2::CreateBackfilledDegradationRequestDataAttributes.new({
      title: "Past API Outage",
      updates: [
        DatadogAPIClient::V2::CreateBackfilledDegradationRequestDataAttributesUpdatesItems.new({
          components_affected: [
            DatadogAPIClient::V2::CreateDegradationRequestDataAttributesComponentsAffectedItems.new({
              id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
              status: DatadogAPIClient::V2::StatusPagesComponentDataAttributesStatus::DEGRADED,
            }),
          ],
          description: "We detected elevated error rates in the API.",
          started_at: (Time.now + -1 * 3600),
          status: DatadogAPIClient::V2::CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
        }),
        DatadogAPIClient::V2::CreateBackfilledDegradationRequestDataAttributesUpdatesItems.new({
          components_affected: [
            DatadogAPIClient::V2::CreateDegradationRequestDataAttributesComponentsAffectedItems.new({
              id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
              status: DatadogAPIClient::V2::StatusPagesComponentDataAttributesStatus::DEGRADED,
            }),
          ],
          description: "Root cause identified as a misconfigured deployment.",
          started_at: (Time.now + -30 * 60),
          status: DatadogAPIClient::V2::CreateDegradationRequestDataAttributesStatus::IDENTIFIED,
        }),
        DatadogAPIClient::V2::CreateBackfilledDegradationRequestDataAttributesUpdatesItems.new({
          components_affected: [
            DatadogAPIClient::V2::CreateDegradationRequestDataAttributesComponentsAffectedItems.new({
              id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
              status: DatadogAPIClient::V2::StatusPagesComponentDataAttributesStatus::OPERATIONAL,
            }),
          ],
          description: "The issue has been resolved and API is operating normally.",
          started_at: Time.now,
          status: DatadogAPIClient::V2::CreateDegradationRequestDataAttributesStatus::RESOLVED,
        }),
      ],
    }),
    type: DatadogAPIClient::V2::PatchDegradationRequestDataType::DEGRADATIONS,
  }),
})
p api_instance.create_backfilled_degradation(STATUS_PAGE_DATA_ID, body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Create backfilled degradation returns "Created" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::CreateBackfilledDegradationOptionalParams;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequest;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestData;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestDataAttributes;
use datadog_api_client::datadogV2::model::CreateBackfilledDegradationRequestDataAttributesUpdatesItems;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributesComponentsAffectedItems;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributesStatus;
use datadog_api_client::datadogV2::model::PatchDegradationRequestDataType;
use datadog_api_client::datadogV2::model::StatusPagesComponentDataAttributesStatus;

#[tokio::main]
async fn main() {
    // there is a valid "status_page" in the system
    let status_page_data_attributes_components_0_components_0_id = uuid::Uuid::parse_str(
        &std::env::var("STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID").unwrap(),
    )
    .expect("Invalid UUID");
    let status_page_data_id = uuid::Uuid::parse_str(&std::env::var("STATUS_PAGE_DATA_ID").unwrap())
        .expect("Invalid UUID");
    let body = CreateBackfilledDegradationRequest::new().data(
        CreateBackfilledDegradationRequestData::new(PatchDegradationRequestDataType::DEGRADATIONS)
            .attributes(CreateBackfilledDegradationRequestDataAttributes::new(
                "Past API Outage".to_string(),
                vec![
                    CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
                        DateTime::parse_from_rfc3339("2021-11-11T10:11:11+00:00")
                            .expect("Failed to parse datetime")
                            .with_timezone(&Utc),
                        CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
                    )
                    .components_affected(vec![
                        CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
                            status_page_data_attributes_components_0_components_0_id.clone(),
                            StatusPagesComponentDataAttributesStatus::DEGRADED,
                        ),
                    ])
                    .description("We detected elevated error rates in the API.".to_string()),
                    CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
                        DateTime::parse_from_rfc3339("2021-11-11T10:41:11+00:00")
                            .expect("Failed to parse datetime")
                            .with_timezone(&Utc),
                        CreateDegradationRequestDataAttributesStatus::IDENTIFIED,
                    )
                    .components_affected(vec![
                        CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
                            status_page_data_attributes_components_0_components_0_id.clone(),
                            StatusPagesComponentDataAttributesStatus::DEGRADED,
                        ),
                    ])
                    .description(
                        "Root cause identified as a misconfigured deployment.".to_string(),
                    ),
                    CreateBackfilledDegradationRequestDataAttributesUpdatesItems::new(
                        DateTime::parse_from_rfc3339("2021-11-11T11:11:11+00:00")
                            .expect("Failed to parse datetime")
                            .with_timezone(&Utc),
                        CreateDegradationRequestDataAttributesStatus::RESOLVED,
                    )
                    .components_affected(vec![
                        CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
                            status_page_data_attributes_components_0_components_0_id.clone(),
                            StatusPagesComponentDataAttributesStatus::OPERATIONAL,
                        ),
                    ])
                    .description(
                        "The issue has been resolved and API is operating normally.".to_string(),
                    ),
                ],
            )),
    );
    let configuration = datadog::Configuration::new();
    let api = StatusPagesAPI::with_config(configuration);
    let resp = api
        .create_backfilled_degradation(
            status_page_data_id.clone(),
            body,
            CreateBackfilledDegradationOptionalParams::default(),
        )
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Create backfilled degradation returns "Created" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.StatusPagesApi(configuration);

// there is a valid "status_page" in the system
const STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID = process.env
  .STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID as string;
const STATUS_PAGE_DATA_ID = process.env.STATUS_PAGE_DATA_ID as string;

const params: v2.StatusPagesApiCreateBackfilledDegradationRequest = {
  body: {
    data: {
      attributes: {
        title: "Past API Outage",
        updates: [
          {
            componentsAffected: [
              {
                id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                status: "degraded",
              },
            ],
            description: "We detected elevated error rates in the API.",
            startedAt: new Date(new Date().getTime() + -1 * 3600 * 1000),
            status: "investigating",
          },
          {
            componentsAffected: [
              {
                id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                status: "degraded",
              },
            ],
            description: "Root cause identified as a misconfigured deployment.",
            startedAt: new Date(new Date().getTime() + -30 * 60 * 1000),
            status: "identified",
          },
          {
            componentsAffected: [
              {
                id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                status: "operational",
              },
            ],
            description:
              "The issue has been resolved and API is operating normally.",
            startedAt: new Date(),
            status: "resolved",
          },
        ],
      },
      type: "degradations",
    },
  },
  pageId: STATUS_PAGE_DATA_ID,
};

apiInstance
  .createBackfilledDegradation(params)
  .then((data: v2.Degradation) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"