---
title: Update degradation template
description: Updates an existing degradation template's attributes.
breadcrumbs: Docs > API > Update degradation template
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Update degradation template

## v2 (latest)

| Datadog site      | API endpoint                                                                                         |
| ----------------- | ---------------------------------------------------------------------------------------------------- |
| app.datadoghq.com | PATCH https://api.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id}     |
| us3.datadoghq.com | PATCH https://api.us3.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id} |
| us5.datadoghq.com | PATCH https://api.us5.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id} |
| app.datadoghq.eu  | PATCH https://api.datadoghq.eu/api/v2/statuspages/{page_id}/degradation_templates/{template_id}      |
| ap1.datadoghq.com | PATCH https://api.ap1.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id} |
| ap2.datadoghq.com | PATCH https://api.ap2.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id} |
| uk1.datadoghq.com | PATCH https://api.uk1.datadoghq.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id} |
| app.ddog-gov.com  | PATCH https://api.ddog-gov.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id}      |
| us2.ddog-gov.com  | PATCH https://api.us2.ddog-gov.com/api/v2/statuspages/{page_id}/degradation_templates/{template_id}  |

### Overview

Updates an existing degradation template's attributes.

OAuth apps require the `status_pages_settings_write` authorization [scope](https://docs.datadoghq.com/api/latest/scopes.md#status-pages) to access this endpoint.

### Arguments

#### Path Parameters

| Field                    | Type   | Description                                        |
| ------------------------ | ------ | -------------------------------------------------- |
| template_id [*required*] | string | The ID of the degradation or maintenance template. |
| page_id [*required*]     | string | The ID of the status page.                         |

#### Query Strings

| Field   | 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)

{% tabs %}
{% tab label="Model" %}
| Parent field        | Field               | Type     | Description                                                                                                          |
| ------------------- | ------------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
|                     | data                | object   | The data object for updating a degradation template.                                                                 |
| data                | attributes          | object   | The supported attributes for updating a degradation template.                                                        |
| attributes          | components_affected | [object] | The components affected by a degradation created from this template.                                                 |
| components_affected | id [*required*]     | string   | The ID of the component. Must be a component of type `component`.                                                    |
| components_affected | status [*required*] | enum     | The status of the component. Allowed enum values: `operational`, `degraded`, `partial_outage`, `major_outage`.       |
| attributes          | degradation_title   | string   | The title used for a degradation created from this template.                                                         |
| attributes          | name                | string   | The name of the degradation template.                                                                                |
| attributes          | updates             | [object] | The pre-filled updates for a degradation created from this template.                                                 |
| updates             | message             | string   | The message of the update.                                                                                           |
| updates             | status [*required*] | enum     | The status of the degradation. Allowed enum values: `investigating`, `identified`, `monitoring`, `resolved`.         |
| data                | id [*required*]     | string   | The ID of the degradation template.                                                                                  |
| data                | type [*required*]   | enum     | Degradation templates resource type. Allowed enum values: `degradation_templates`. Default: `degradation_templates`. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "data": {
    "attributes": {
      "components_affected": [
        {
          "id": "",
          "status": "operational"
        }
      ],
      "degradation_title": "string",
      "name": "string",
      "updates": [
        {
          "message": "string",
          "status": "investigating"
        }
      ]
    },
    "id": "",
    "type": "degradation_templates"
  }
}
```
{% /tab %}
{% /tabs %}

### Response

{% tabs %}
{% tab label="200" %}
OK

{% tabs %}
{% tab label="Model" %}
Response object for a single degradation template.

| Parent field          | Field                          | Type      | Description                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | ------------------------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                       | data                           | object    | The data object for a degradation template.                                                                                                                                                                                                                                                                                                                                   |
| data                  | attributes                     | object    | The attributes of a degradation template.                                                                                                                                                                                                                                                                                                                                     |
| attributes            | components_affected            | [object]  | The components affected by a degradation created from this template.                                                                                                                                                                                                                                                                                                          |
| components_affected   | id [*required*]                | string    | The ID of the component.                                                                                                                                                                                                                                                                                                                                                      |
| components_affected   | name                           | string    | The name of the component. Read-only.                                                                                                                                                                                                                                                                                                                                         |
| components_affected   | status [*required*]            | enum      | The status of the component. Allowed enum values: `operational`, `degraded`, `partial_outage`, `major_outage`.                                                                                                                                                                                                                                                                |
| attributes            | created_at                     | date-time | Timestamp of when the degradation template was created.                                                                                                                                                                                                                                                                                                                       |
| attributes            | degradation_title              | string    | The title used for a degradation created from this template.                                                                                                                                                                                                                                                                                                                  |
| attributes            | modified_at                    | date-time | Timestamp of when the degradation template was last modified.                                                                                                                                                                                                                                                                                                                 |
| attributes            | name                           | string    | The name of the degradation template.                                                                                                                                                                                                                                                                                                                                         |
| attributes            | updates                        | [object]  | The pre-filled updates for a degradation created from this template.                                                                                                                                                                                                                                                                                                          |
| updates               | message                        | string    | The message of the update.                                                                                                                                                                                                                                                                                                                                                    |
| updates               | status [*required*]            | enum      | The status of the degradation. Allowed enum values: `investigating`, `identified`, `monitoring`, `resolved`.                                                                                                                                                                                                                                                                  |
| data                  | id                             | string    | The ID of the degradation template.                                                                                                                                                                                                                                                                                                                                           |
| data                  | relationships                  | object    | The relationships of a degradation template.                                                                                                                                                                                                                                                                                                                                  |
| relationships         | created_by_user                | object    | The Datadog user who created the degradation template.                                                                                                                                                                                                                                                                                                                        |
| created_by_user       | data [*required*]              | object    | The data object identifying the Datadog user who created the degradation template.                                                                                                                                                                                                                                                                                            |
| data                  | id [*required*]                | string    | The ID of the Datadog user who created the degradation template.                                                                                                                                                                                                                                                                                                              |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| relationships         | last_modified_by_user          | object    | The Datadog user who last modified the degradation template.                                                                                                                                                                                                                                                                                                                  |
| last_modified_by_user | data [*required*]              | object    | The data object identifying the Datadog user who last modified the degradation template.                                                                                                                                                                                                                                                                                      |
| data                  | id [*required*]                | string    | The ID of the Datadog user who last modified the degradation template.                                                                                                                                                                                                                                                                                                        |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| relationships         | status_page                    | object    | The status page the degradation template belongs to.                                                                                                                                                                                                                                                                                                                          |
| status_page           | data [*required*]              | object    | The data object identifying the status page associated with a degradation template.                                                                                                                                                                                                                                                                                           |
| data                  | id [*required*]                | string    | The ID of the status page.                                                                                                                                                                                                                                                                                                                                                    |
| data                  | type [*required*]              | enum      | Status pages resource type. Allowed enum values: `status_pages`. Default: `status_pages`.                                                                                                                                                                                                                                                                                     |
| data                  | type [*required*]              | enum      | Degradation templates resource type. Allowed enum values: `degradation_templates`. Default: `degradation_templates`.                                                                                                                                                                                                                                                          |
|                       | included                       | [<oneOf>] | The included related resources of a degradation template. Client must explicitly request these resources by name in the `include` query parameter.                                                                                                                                                                                                                            |
| included              | <type=users>                   | object    | The included Datadog user resource.                                                                                                                                                                                                                                                                                                                                           |
| <type=users>          | attributes                     | object    | Attributes of the Datadog user.                                                                                                                                                                                                                                                                                                                                               |
| attributes            | email                          | string    | The email of the Datadog user.                                                                                                                                                                                                                                                                                                                                                |
| attributes            | handle                         | string    | The handle of the Datadog user.                                                                                                                                                                                                                                                                                                                                               |
| attributes            | icon                           | string    | The icon of the Datadog user.                                                                                                                                                                                                                                                                                                                                                 |
| attributes            | name                           | string    | The name of the Datadog user.                                                                                                                                                                                                                                                                                                                                                 |
| attributes            | uuid                           | string    | The UUID of the Datadog user.                                                                                                                                                                                                                                                                                                                                                 |
| <type=users>          | id                             | uuid      | The ID of the Datadog user.                                                                                                                                                                                                                                                                                                                                                   |
| <type=users>          | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| included              | <type=status_pages>            | object    | The included status page resource.                                                                                                                                                                                                                                                                                                                                            |
| <type=status_pages>   | attributes                     | object    | The attributes of a status page.                                                                                                                                                                                                                                                                                                                                              |
| attributes            | company_logo                   | string    | The base64-encoded image data displayed in the company logo.                                                                                                                                                                                                                                                                                                                  |
| attributes            | components                     | [object]  | Components displayed on the status page.                                                                                                                                                                                                                                                                                                                                      |
| components            | components                     | [object]  | If the component is of type `group`, the components within the group.                                                                                                                                                                                                                                                                                                         |
| components            | id                             | uuid      | The ID of the grouped component. Read-only.                                                                                                                                                                                                                                                                                                                                   |
| components            | name                           | string    | The name of the grouped component.                                                                                                                                                                                                                                                                                                                                            |
| components            | position                       | int64     | The zero-indexed position of the grouped component. Relative to the other components in the group.                                                                                                                                                                                                                                                                            |
| components            | status                         | enum      | The status of the component. Read-only. Allowed enum values: `operational`, `degraded`, `partial_outage`, `major_outage`, `maintenance`.                                                                                                                                                                                                                                      |
| components            | type                           | enum      | The type of the component. Allowed enum values: `component`.                                                                                                                                                                                                                                                                                                                  |
| components            | id                             | uuid      | The ID of the component. Read-only.                                                                                                                                                                                                                                                                                                                                           |
| components            | name                           | string    | The name of the component.                                                                                                                                                                                                                                                                                                                                                    |
| components            | position                       | int64     | The zero-indexed position of the component.                                                                                                                                                                                                                                                                                                                                   |
| components            | status                         | enum      | The status of the component. Read-only. Allowed enum values: `operational`, `degraded`, `partial_outage`, `major_outage`, `maintenance`.                                                                                                                                                                                                                                      |
| components            | type                           | enum      | The type of the component. Allowed enum values: `component`, `group`.                                                                                                                                                                                                                                                                                                         |
| attributes            | created_at                     | date-time | Timestamp of when the status page was created.                                                                                                                                                                                                                                                                                                                                |
| attributes            | custom_domain                  | string    | If configured, the url that the status page is accessible at.                                                                                                                                                                                                                                                                                                                 |
| attributes            | custom_domain_enabled          | boolean   | Whether the custom domain is configured.                                                                                                                                                                                                                                                                                                                                      |
| attributes            | domain_prefix                  | string    | The subdomain of the status page URL. Public pages use `https://{domain_prefix}.statuspage.datadoghq.com`, while private pages use `https://{domain_prefix}.private.statuspage.datadoghq.com`. Globally unique across Datadog Status Pages.                                                                                                                                   |
| attributes            | email_header_image             | string    | Base64-encoded image data included in email notifications sent to status page subscribers.                                                                                                                                                                                                                                                                                    |
| attributes            | email_notifications_enabled    | boolean   | Whether email notifications are enabled for the status page. Must be enabled when `subscriptions_enabled` is `true`.                                                                                                                                                                                                                                                          |
| attributes            | enabled                        | boolean   | Whether the status page is enabled.                                                                                                                                                                                                                                                                                                                                           |
| attributes            | favicon                        | string    | Base64-encoded image data displayed in the browser tab.                                                                                                                                                                                                                                                                                                                       |
| attributes            | modified_at                    | date-time | Timestamp of when the status page was last modified.                                                                                                                                                                                                                                                                                                                          |
| attributes            | ms_teams_subscriptions_enabled | boolean   | Whether Microsoft Teams subscriptions are enabled for the status page.                                                                                                                                                                                                                                                                                                        |
| attributes            | name                           | string    | The name of the status page.                                                                                                                                                                                                                                                                                                                                                  |
| attributes            | page_url                       | string    | The url that the status page is accessible at.                                                                                                                                                                                                                                                                                                                                |
| attributes            | rss_feed_enabled               | boolean   | Whether the RSS feed is enabled for the status page.                                                                                                                                                                                                                                                                                                                          |
| attributes            | slack_app_icon                 | string    | The Slack app icon URL for the status page.                                                                                                                                                                                                                                                                                                                                   |
| attributes            | slack_subscriptions_enabled    | boolean   | Whether Slack subscriptions are enabled for the status page.                                                                                                                                                                                                                                                                                                                  |
| attributes            | subscriptions_enabled          | boolean   | Whether users can subscribe to the status page.                                                                                                                                                                                                                                                                                                                               |
| attributes            | type                           | enum      | The type of the status page controlling how the status page is accessed. Public pages are accessible to anyone, internal pages are accessible to authenticated users in the Datadog organization, and private pages are accessible only to users matching an allow email access policy and no deny email access policy. Allowed enum values: `public`, `internal`, `private`. |
| attributes            | visualization_layout           | enum      | The layout of components on the status page. Defaults to `list`. `grid` requires `visualization_type` to be `component_name_only`; changing `visualization_type` to any other value resets the layout to `list`. Allowed enum values: `list`, `grid`.                                                                                                                         |
| attributes            | visualization_type             | enum      | The visualization type of the status page. Allowed enum values: `bars_and_uptime_percentage`, `bars_only`, `component_name_only`.                                                                                                                                                                                                                                             |
| <type=status_pages>   | id                             | uuid      | The ID of the status page.                                                                                                                                                                                                                                                                                                                                                    |
| <type=status_pages>   | relationships                  | object    | The relationships of a status page.                                                                                                                                                                                                                                                                                                                                           |
| relationships         | created_by_user                | object    | The Datadog user who created the status page.                                                                                                                                                                                                                                                                                                                                 |
| created_by_user       | data [*required*]              | object    | The data object identifying the Datadog user who created the status page.                                                                                                                                                                                                                                                                                                     |
| data                  | id [*required*]                | string    | The ID of the Datadog user who created the status page.                                                                                                                                                                                                                                                                                                                       |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| relationships         | last_modified_by_user          | object    | The Datadog user who last modified the status page.                                                                                                                                                                                                                                                                                                                           |
| last_modified_by_user | data [*required*]              | object    | The data object identifying the Datadog user who last modified the status page.                                                                                                                                                                                                                                                                                               |
| data                  | id [*required*]                | string    | The ID of the Datadog user who last modified the status page.                                                                                                                                                                                                                                                                                                                 |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| <type=status_pages>   | type [*required*]              | enum      | Status pages resource type. Allowed enum values: `status_pages`. Default: `status_pages`.                                                                                                                                                                                                                                                                                     |
{% /tab %}

{% tab label="Example" %}
```json
{
  "data": {
    "attributes": {
      "components_affected": [
        {
          "id": "",
          "name": "string",
          "status": "operational"
        }
      ],
      "created_at": "2019-09-19T10:00:00.000Z",
      "degradation_title": "string",
      "modified_at": "2019-09-19T10:00:00.000Z",
      "name": "string",
      "updates": [
        {
          "message": "string",
          "status": "investigating"
        }
      ]
    },
    "id": "string",
    "relationships": {
      "created_by_user": {
        "data": {
          "id": "",
          "type": "users"
        }
      },
      "last_modified_by_user": {
        "data": {
          "id": "",
          "type": "users"
        }
      },
      "status_page": {
        "data": {
          "id": "",
          "type": "status_pages"
        }
      }
    },
    "type": "degradation_templates"
  },
  "included": [
    {
      "attributes": {
        "email": "string",
        "handle": "string",
        "icon": "string",
        "name": "string",
        "uuid": "string"
      },
      "id": "string",
      "type": "users"
    }
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="429" %}
Too many requests

{% tabs %}
{% tab label="Model" %}
API error response.

| Field               | Type     | Description       |
| ------------------- | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}
{% /tabs %}

### Code Example

{% tabs %}
{% tab label="Curl" %}
```bash
# Path parameters
export template_id="CHANGE_ME"
export page_id="CHANGE_ME"

# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X PATCH "https://api.${DD_SITE}/api/v2/statuspages/${page_id}/degradation_templates/${template_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "degradation_title": "Elevated API Latency for 40 minutes",
      "name": "Elevated API Latency"
    },
    "id": "00000000-0000-0000-0000-000000000003",
    "type": "degradation_templates"
  }
}
EOF
```
{% /tab %}

{% tab label="Go" %}
```go
// Update degradation template returns "OK" response

package main

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

	"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() {
	body := datadogV2.PatchDegradationTemplateRequest{
		Data: &datadogV2.PatchDegradationTemplateRequestData{
			Attributes: &datadogV2.PatchDegradationTemplateRequestDataAttributes{
				ComponentsAffected: []datadogV2.PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems{
					{
						Id:     "",
						Status: datadogV2.PATCHDEGRADATIONTEMPLATEREQUESTDATAATTRIBUTESCOMPONENTSAFFECTEDITEMSSTATUS_OPERATIONAL,
					},
				},
				Updates: []datadogV2.PatchDegradationTemplateRequestDataAttributesUpdatesItems{
					{
						Status: datadogV2.CREATEDEGRADATIONREQUESTDATAATTRIBUTESSTATUS_INVESTIGATING,
					},
				},
			},
			Id:   "",
			Type: datadogV2.PATCHDEGRADATIONTEMPLATEREQUESTDATATYPE_DEGRADATION_TEMPLATES,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewStatusPagesApi(apiClient)
	resp, r, err := api.UpdateDegradationTemplate(ctx, uuid.MustParse("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), uuid.MustParse("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body, *datadogV2.NewUpdateDegradationTemplateOptionalParameters())

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

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

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
```
{% /tab %}

{% tab label="Java" %}
```java
// Update degradation template returns "OK" 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.CreateDegradationRequestDataAttributesStatus;
import com.datadog.api.client.v2.model.DegradationTemplate;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequest;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestData;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestDataAttributes;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestDataAttributesUpdatesItems;
import com.datadog.api.client.v2.model.PatchDegradationTemplateRequestDataType;
import java.util.Collections;
import java.util.UUID;

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

    PatchDegradationTemplateRequest body =
        new PatchDegradationTemplateRequest()
            .data(
                new PatchDegradationTemplateRequestData()
                    .attributes(
                        new PatchDegradationTemplateRequestDataAttributes()
                            .componentsAffected(
                                Collections.singletonList(
                                    new PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems()
                                        .id("")
                                        .status(
                                            PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus
                                                .OPERATIONAL)))
                            .updates(
                                Collections.singletonList(
                                    new PatchDegradationTemplateRequestDataAttributesUpdatesItems()
                                        .status(
                                            CreateDegradationRequestDataAttributesStatus
                                                .INVESTIGATING))))
                    .id("")
                    .type(PatchDegradationTemplateRequestDataType.DEGRADATION_TEMPLATES));

    try {
      DegradationTemplate result =
          apiInstance.updateDegradationTemplate(
              UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
              UUID.fromString("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
              body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling StatusPagesApi#updateDegradationTemplate");
      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](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
```
{% /tab %}

{% tab label="Python" %}
```python
"""
Update degradation template returns "OK" response
"""

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_degradation_request_data_attributes_status import (
    CreateDegradationRequestDataAttributesStatus,
)
from datadog_api_client.v2.model.patch_degradation_template_request import PatchDegradationTemplateRequest
from datadog_api_client.v2.model.patch_degradation_template_request_data import PatchDegradationTemplateRequestData
from datadog_api_client.v2.model.patch_degradation_template_request_data_attributes import (
    PatchDegradationTemplateRequestDataAttributes,
)
from datadog_api_client.v2.model.patch_degradation_template_request_data_attributes_components_affected_items import (
    PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems,
)
from datadog_api_client.v2.model.patch_degradation_template_request_data_attributes_components_affected_items_status import (
    PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus,
)
from datadog_api_client.v2.model.patch_degradation_template_request_data_attributes_updates_items import (
    PatchDegradationTemplateRequestDataAttributesUpdatesItems,
)
from datadog_api_client.v2.model.patch_degradation_template_request_data_type import (
    PatchDegradationTemplateRequestDataType,
)
from uuid import UUID

body = PatchDegradationTemplateRequest(
    data=PatchDegradationTemplateRequestData(
        attributes=PatchDegradationTemplateRequestDataAttributes(
            components_affected=[
                PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems(
                    id="",
                    status=PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus.OPERATIONAL,
                ),
            ],
            updates=[
                PatchDegradationTemplateRequestDataAttributesUpdatesItems(
                    status=CreateDegradationRequestDataAttributesStatus.INVESTIGATING,
                ),
            ],
        ),
        id="",
        type=PatchDegradationTemplateRequestDataType.DEGRADATION_TEMPLATES,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = StatusPagesApi(api_client)
    response = api_instance.update_degradation_template(
        template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
        page_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"),
        body=body,
    )

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
```
{% /tab %}

{% tab label="Ruby" %}
```ruby
# Update degradation template returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::StatusPagesAPI.new

body = DatadogAPIClient::V2::PatchDegradationTemplateRequest.new({
  data: DatadogAPIClient::V2::PatchDegradationTemplateRequestData.new({
    attributes: DatadogAPIClient::V2::PatchDegradationTemplateRequestDataAttributes.new({
      components_affected: [
        DatadogAPIClient::V2::PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems.new({
          id: "",
          status: DatadogAPIClient::V2::PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus::OPERATIONAL,
        }),
      ],
      updates: [
        DatadogAPIClient::V2::PatchDegradationTemplateRequestDataAttributesUpdatesItems.new({
          status: DatadogAPIClient::V2::CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
        }),
      ],
    }),
    id: "",
    type: DatadogAPIClient::V2::PatchDegradationTemplateRequestDataType::DEGRADATION_TEMPLATES,
  }),
})
p api_instance.update_degradation_template("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d", "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d", body)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" ruby "example.rb"
```
{% /tab %}

{% tab label="Rust" %}
```rust
// Update degradation template returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;
use datadog_api_client::datadogV2::api_status_pages::UpdateDegradationTemplateOptionalParams;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributesStatus;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequest;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestData;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestDataAttributes;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestDataAttributesUpdatesItems;
use datadog_api_client::datadogV2::model::PatchDegradationTemplateRequestDataType;
use uuid::Uuid;

#[tokio::main]
async fn main() {
    let body =
        PatchDegradationTemplateRequest
        ::new().data(
            PatchDegradationTemplateRequestData::new(
                "".to_string(),
                PatchDegradationTemplateRequestDataType::DEGRADATION_TEMPLATES,
            ).attributes(
                PatchDegradationTemplateRequestDataAttributes::new()
                    .components_affected(
                        vec![
                            PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems::new(
                                "".to_string(),
                                PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus
                                ::OPERATIONAL,
                            )
                        ],
                    )
                    .updates(
                        vec![
                            PatchDegradationTemplateRequestDataAttributesUpdatesItems::new(
                                CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
                            )
                        ],
                    ),
            ),
        );
    let configuration = datadog::Configuration::new();
    let api = StatusPagesAPI::with_config(configuration);
    let resp = api
        .update_degradation_template(
            Uuid::parse_str("00000000-0000-0000-0000-000000000000").expect("invalid UUID"),
            Uuid::parse_str("00000000-0000-0000-0000-000000000000").expect("invalid UUID"),
            body,
            UpdateDegradationTemplateOptionalParams::default(),
        )
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
```
{% /tab %}

{% tab label="TypeScript" %}
```typescript
/**
 * Update degradation template returns "OK" response
 */

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

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
const apiInstance = new v2.StatusPagesApi(configuration);

const params: v2.StatusPagesApiUpdateDegradationTemplateRequest = {
  body: {
    data: {
      attributes: {
        componentsAffected: [
          {
            id: "",
            status: "operational",
          },
        ],
        updates: [
          {
            status: "investigating",
          },
        ],
      },
      id: "",
      type: "degradation_templates",
    },
  },
  templateId: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  pageId: "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
};

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

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" npx tsx "example.ts"
```
{% /tab %}
{% /tabs %}
