---
title: Create degradation
description: Creates a new degradation.
breadcrumbs: Docs > API > Create degradation
---

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

# Create degradation

## v2 (latest)

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

### Overview

Creates a new degradation.

This endpoint requires the `status_pages_incident_write` permission.

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

### Arguments

#### Path Parameters

| Field                | Type   | Description                |
| -------------------- | ------ | -------------------------- |
| page_id [*required*] | string | The ID of the status page. |

#### Query Strings

| Field              | Type    | Description                                                                                                          |
| ------------------ | ------- | -------------------------------------------------------------------------------------------------------------------- |
| notify_subscribers | boolean | Whether to notify page subscribers of the degradation. Default: `true`.                                              |
| 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 creating a degradation.                                                                                   |
| data                | attributes [*required*]          | object   | The supported attributes for creating a degradation.                                                                          |
| attributes          | components_affected [*required*] | [object] | The components affected by the degradation.                                                                                   |
| components_affected | id [*required*]                  | uuid     | 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`, `maintenance`. |
| attributes          | description                      | string   | The description of the degradation.                                                                                           |
| attributes          | status [*required*]              | enum     | The status of the degradation. Allowed enum values: `investigating`, `identified`, `monitoring`, `resolved`.                  |
| attributes          | title [*required*]               | string   | The title of the degradation.                                                                                                 |
| data                | relationships                    | object   | The supported relationships for creating a degradation.                                                                       |
| relationships       | template                         | object   | The template used to create the degradation.                                                                                  |
| template            | data [*required*]                | object   | The data object identifying the template used to create the degradation.                                                      |
| 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`.          |
| data                | type [*required*]                | enum     | Degradations resource type. Allowed enum values: `degradations`. Default: `degradations`.                                     |
|                     | meta                             | object   | The supported metadata for creating a degradation.                                                                            |
| meta                | idempotency_key                  | uuid     | A unique key used to ensure idempotent requests.                                                                              |
{% /tab %}

{% tab label="Example" %}
```json
{
  "data": {
    "attributes": {
      "components_affected": [
        {
          "id": "4e9d3726-bdd7-0079-613c-e9aaba89eb01",
          "status": "major_outage"
        }
      ],
      "description": "Our API is experiencing elevated latency. We are investigating the issue.",
      "status": "investigating",
      "title": "Elevated API Latency"
    },
    "type": "degradations"
  }
}
```
{% /tab %}
{% /tabs %}

### Response

{% tabs %}
{% tab label="201" %}
Created

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

| Parent field          | Field                          | Type      | Description                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | ------------------------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                       | data                           | object    | The data object for a degradation.                                                                                                                                                                                                                                                                                                                                            |
| data                  | attributes                     | object    | The attributes of a degradation.                                                                                                                                                                                                                                                                                                                                              |
| attributes            | components_affected            | [object]  | Components affected by the degradation.                                                                                                                                                                                                                                                                                                                                       |
| components_affected   | id [*required*]                | uuid      | 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`, `maintenance`.                                                                                                                                                                                                                                                 |
| attributes            | created_at                     | date-time | Timestamp of when the degradation was created.                                                                                                                                                                                                                                                                                                                                |
| attributes            | description                    | string    | Description of the degradation.                                                                                                                                                                                                                                                                                                                                               |
| attributes            | is_backfilled                  | boolean   | Whether the degradation was backfilled.                                                                                                                                                                                                                                                                                                                                       |
| attributes            | modified_at                    | date-time | Timestamp of when the degradation was last modified.                                                                                                                                                                                                                                                                                                                          |
| attributes            | source                         | object    | The source of the degradation.                                                                                                                                                                                                                                                                                                                                                |
| source                | created_at [*required*]        | date-time | Timestamp of when the source was created.                                                                                                                                                                                                                                                                                                                                     |
| source                | source_id [*required*]         | string    | The ID of the source.                                                                                                                                                                                                                                                                                                                                                         |
| source                | type [*required*]              | enum      | The type of the source. Allowed enum values: `incident`.                                                                                                                                                                                                                                                                                                                      |
| attributes            | status                         | enum      | The status of the degradation. Allowed enum values: `investigating`, `identified`, `monitoring`, `resolved`.                                                                                                                                                                                                                                                                  |
| attributes            | title                          | string    | Title of the degradation.                                                                                                                                                                                                                                                                                                                                                     |
| attributes            | updates                        | [object]  | Past updates made to the degradation.                                                                                                                                                                                                                                                                                                                                         |
| updates               | components_affected            | [object]  | The components affected at the time of the update.                                                                                                                                                                                                                                                                                                                            |
| components_affected   | id [*required*]                | uuid      | Identifier of the component affected at the time of the update.                                                                                                                                                                                                                                                                                                               |
| components_affected   | name                           | string    | The name of the component affected at the time of the update. Read-only.                                                                                                                                                                                                                                                                                                      |
| components_affected   | 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`.                                                                                                                                                                                                              |
| updates               | created_at                     | date-time | Timestamp of when the update was created. Read-only.                                                                                                                                                                                                                                                                                                                          |
| updates               | deleted_at                     | string    | The date and time the resource was deleted.                                                                                                                                                                                                                                                                                                                                   |
| updates               | deleted_by_user_uuid           | string    | UUID of the user who deleted the resource.                                                                                                                                                                                                                                                                                                                                    |
| updates               | description                    | string    | Description of the update.                                                                                                                                                                                                                                                                                                                                                    |
| updates               | id                             | uuid      | Identifier of the update. Read-only.                                                                                                                                                                                                                                                                                                                                          |
| updates               | last_modified_by_user_uuid     | string    | UUID of the user who last modified the resource.                                                                                                                                                                                                                                                                                                                              |
| updates               | modified_at                    | date-time | Timestamp of when the update was last modified. Read-only.                                                                                                                                                                                                                                                                                                                    |
| updates               | started_at                     | date-time | Timestamp of when the update started.                                                                                                                                                                                                                                                                                                                                         |
| updates               | status                         | enum      | The status of the degradation. Allowed enum values: `investigating`, `identified`, `monitoring`, `resolved`.                                                                                                                                                                                                                                                                  |
| data                  | id                             | uuid      | The ID of the degradation.                                                                                                                                                                                                                                                                                                                                                    |
| data                  | relationships                  | object    | The relationships of a degradation.                                                                                                                                                                                                                                                                                                                                           |
| relationships         | created_by_user                | object    | The Datadog user who created the degradation.                                                                                                                                                                                                                                                                                                                                 |
| created_by_user       | data [*required*]              | object    | The data object identifying the Datadog user who created the degradation.                                                                                                                                                                                                                                                                                                     |
| data                  | id [*required*]                | string    | The ID of the Datadog user who created the degradation.                                                                                                                                                                                                                                                                                                                       |
| 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.                                                                                                                                                                                                                                                                                                                           |
| last_modified_by_user | data [*required*]              | object    | The data object identifying the Datadog user who last modified the degradation.                                                                                                                                                                                                                                                                                               |
| data                  | id [*required*]                | string    | The ID of the Datadog user who last modified the degradation.                                                                                                                                                                                                                                                                                                                 |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| relationships         | status_page                    | object    | The status page the degradation belongs to.                                                                                                                                                                                                                                                                                                                                   |
| status_page           | data [*required*]              | object    | The data object identifying the status page the degradation belongs to.                                                                                                                                                                                                                                                                                                       |
| data                  | id [*required*]                | uuid      | The ID of the status page.                                                                                                                                                                                                                                                                                                                                                    |
| data                  | type [*required*]              | enum      | Status pages resource type. Allowed enum values: `status_pages`. Default: `status_pages`.                                                                                                                                                                                                                                                                                     |
| relationships         | template                       | object    | The template the degradation was created from.                                                                                                                                                                                                                                                                                                                                |
| template              | data [*required*]              | object    | The data object identifying the template the degradation was created from.                                                                                                                                                                                                                                                                                                    |
| 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`.                                                                                                                                                                                                                                                          |
| data                  | 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.                                                                                                                                                                                                                                     |
| 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": "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",
          "deleted_at": "string",
          "deleted_by_user_uuid": "string",
          "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"
        }
      },
      "template": {
        "data": {
          "id": "",
          "type": "degradation_templates"
        }
      }
    },
    "type": "degradations"
  },
  "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 page_id="1234abcd-12ab-34cd-56ef-123456abcdef"

# 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 POST "https://api.${DD_SITE}/api/v2/statuspages/${page_id}/degradations" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "components_affected": [
        {
          "id": "4e9d3726-bdd7-0079-613c-e9aaba89eb01",
          "status": "major_outage"
        }
      ],
      "description": "Our API is experiencing elevated latency. We are investigating the issue.",
      "status": "investigating",
      "title": "Elevated API Latency"
    },
    "type": "degradations"
  }
}
EOF
```
{% /tab %}

{% tab label="Go" %}
```go
// Create degradation returns "Created" 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() {
	// 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.CreateDegradationRequest{
		Data: &datadogV2.CreateDegradationRequestData{
			Attributes: datadogV2.CreateDegradationRequestDataAttributes{
				ComponentsAffected: []datadogV2.CreateDegradationRequestDataAttributesComponentsAffectedItems{
					{
						Id:     StatusPageDataAttributesComponents0Components0ID,
						Status: datadogV2.STATUSPAGESCOMPONENTDATAATTRIBUTESSTATUS_MAJOR_OUTAGE,
					},
				},
				Description: datadog.PtrString("Our API is experiencing elevated latency. We are investigating the issue."),
				Status:      datadogV2.CREATEDEGRADATIONREQUESTDATAATTRIBUTESSTATUS_INVESTIGATING,
				Title:       "Elevated API Latency",
			},
			Type: datadogV2.PATCHDEGRADATIONREQUESTDATATYPE_DEGRADATIONS,
		},
	}
	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.CreateDegradation(ctx, StatusPageDataID, body, *datadogV2.NewCreateDegradationOptionalParameters())

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `StatusPagesApi.CreateDegradation`:\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
// Create 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.CreateDegradationRequest;
import com.datadog.api.client.v2.model.CreateDegradationRequestData;
import com.datadog.api.client.v2.model.CreateDegradationRequestDataAttributes;
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.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);

    // 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());
    }

    CreateDegradationRequest body =
        new CreateDegradationRequest()
            .data(
                new CreateDegradationRequestData()
                    .attributes(
                        new CreateDegradationRequestDataAttributes()
                            .componentsAffected(
                                Collections.singletonList(
                                    new CreateDegradationRequestDataAttributesComponentsAffectedItems()
                                        .id(
                                            STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID)
                                        .status(
                                            StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE)))
                            .description(
                                "Our API is experiencing elevated latency. We are investigating the"
                                    + " issue.")
                            .status(CreateDegradationRequestDataAttributesStatus.INVESTIGATING)
                            .title("Elevated API Latency"))
                    .type(PatchDegradationRequestDataType.DEGRADATIONS));

    try {
      Degradation result = apiInstance.createDegradation(STATUS_PAGE_DATA_ID, body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling StatusPagesApi#createDegradation");
      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
"""
Create degradation returns "Created" 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 import CreateDegradationRequest
from datadog_api_client.v2.model.create_degradation_request_data import CreateDegradationRequestData
from datadog_api_client.v2.model.create_degradation_request_data_attributes import (
    CreateDegradationRequestDataAttributes,
)
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 = CreateDegradationRequest(
    data=CreateDegradationRequestData(
        attributes=CreateDegradationRequestDataAttributes(
            components_affected=[
                CreateDegradationRequestDataAttributesComponentsAffectedItems(
                    id=STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
                    status=StatusPagesComponentDataAttributesStatus.MAJOR_OUTAGE,
                ),
            ],
            description="Our API is experiencing elevated latency. We are investigating the issue.",
            status=CreateDegradationRequestDataAttributesStatus.INVESTIGATING,
            title="Elevated API Latency",
        ),
        type=PatchDegradationRequestDataType.DEGRADATIONS,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = StatusPagesApi(api_client)
    response = api_instance.create_degradation(page_id=STATUS_PAGE_DATA_ID, 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
# Create degradation returns "Created" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
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::CreateDegradationRequest.new({
  data: DatadogAPIClient::V2::CreateDegradationRequestData.new({
    attributes: DatadogAPIClient::V2::CreateDegradationRequestDataAttributes.new({
      components_affected: [
        DatadogAPIClient::V2::CreateDegradationRequestDataAttributesComponentsAffectedItems.new({
          id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
          status: DatadogAPIClient::V2::StatusPagesComponentDataAttributesStatus::MAJOR_OUTAGE,
        }),
      ],
      description: "Our API is experiencing elevated latency. We are investigating the issue.",
      status: DatadogAPIClient::V2::CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
      title: "Elevated API Latency",
    }),
    type: DatadogAPIClient::V2::PatchDegradationRequestDataType::DEGRADATIONS,
  }),
})
p api_instance.create_degradation(STATUS_PAGE_DATA_ID, 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
// Create degradation returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::CreateDegradationOptionalParams;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;
use datadog_api_client::datadogV2::model::CreateDegradationRequest;
use datadog_api_client::datadogV2::model::CreateDegradationRequestData;
use datadog_api_client::datadogV2::model::CreateDegradationRequestDataAttributes;
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 = CreateDegradationRequest::new().data(CreateDegradationRequestData::new(
        CreateDegradationRequestDataAttributes::new(
            vec![
                CreateDegradationRequestDataAttributesComponentsAffectedItems::new(
                    status_page_data_attributes_components_0_components_0_id.clone(),
                    StatusPagesComponentDataAttributesStatus::MAJOR_OUTAGE,
                ),
            ],
            CreateDegradationRequestDataAttributesStatus::INVESTIGATING,
            "Elevated API Latency".to_string(),
        )
        .description(
            "Our API is experiencing elevated latency. We are investigating the issue.".to_string(),
        ),
        PatchDegradationRequestDataType::DEGRADATIONS,
    ));
    let configuration = datadog::Configuration::new();
    let api = StatusPagesAPI::with_config(configuration);
    let resp = api
        .create_degradation(
            status_page_data_id.clone(),
            body,
            CreateDegradationOptionalParams::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
/**
 * Create degradation returns "Created" 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);

// 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.StatusPagesApiCreateDegradationRequest = {
  body: {
    data: {
      attributes: {
        componentsAffected: [
          {
            id: STATUS_PAGE_DATA_ATTRIBUTES_COMPONENTS_0_COMPONENTS_0_ID,
            status: "major_outage",
          },
        ],
        description:
          "Our API is experiencing elevated latency. We are investigating the issue.",
        status: "investigating",
        title: "Elevated API Latency",
      },
      type: "degradations",
    },
  },
  pageId: STATUS_PAGE_DATA_ID,
};

apiInstance
  .createDegradation(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](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 %}
