---
title: Get maintenance
description: Retrieves a specific maintenance by its ID.
breadcrumbs: Docs > API > Get maintenance
---

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

# Get maintenance

## v2 (latest)

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

### Overview

Retrieves a specific maintenance by its ID.

This endpoint requires the `status_pages_settings_read` permission.

OAuth apps require the `status_pages_settings_read` 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. |
| maintenance_id [*required*] | string | The ID of the maintenance. |

#### 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. |

### Response

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

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

| Parent field          | Field                          | Type      | Description                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | ------------------------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                       | data                           | object    | The data object for a maintenance.                                                                                                                                                                                                                                                                                                                                            |
| data                  | attributes                     | object    | The attributes of a maintenance.                                                                                                                                                                                                                                                                                                                                              |
| attributes            | canceled_description           | string    | The description shown when the maintenance is canceled.                                                                                                                                                                                                                                                                                                                       |
| attributes            | completed_date                 | date-time | Timestamp of when the maintenance was completed.                                                                                                                                                                                                                                                                                                                              |
| attributes            | completed_description          | string    | The description shown when the maintenance is completed.                                                                                                                                                                                                                                                                                                                      |
| attributes            | components_affected            | [object]  | Components affected by the maintenance.                                                                                                                                                                                                                                                                                                                                       |
| components_affected   | id [*required*]                | uuid      | The ID of the component. Must be a component of type `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`, `maintenance`.                                                                                                                                                                                                                                                                                               |
| attributes            | in_progress_description        | string    | The description shown while the maintenance is in progress.                                                                                                                                                                                                                                                                                                                   |
| attributes            | is_backfilled                  | boolean   | Whether the maintenance was backfilled.                                                                                                                                                                                                                                                                                                                                       |
| attributes            | modified_at                    | date-time | Timestamp of when the maintenance was last modified.                                                                                                                                                                                                                                                                                                                          |
| attributes            | published_date                 | date-time | Timestamp of when the maintenance was published.                                                                                                                                                                                                                                                                                                                              |
| attributes            | scheduled_description          | string    | The description shown when the maintenance is scheduled.                                                                                                                                                                                                                                                                                                                      |
| attributes            | start_date                     | date-time | Timestamp of when the maintenance is scheduled to start.                                                                                                                                                                                                                                                                                                                      |
| attributes            | status                         | enum      | The status of the maintenance. Allowed enum values: `scheduled`, `in_progress`, `completed`.                                                                                                                                                                                                                                                                                  |
| attributes            | title                          | string    | Title of the maintenance.                                                                                                                                                                                                                                                                                                                                                     |
| attributes            | updates                        | [object]  | Past updates made to the maintenance.                                                                                                                                                                                                                                                                                                                                         |
| 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`, `maintenance`.                                                                                                                                                                                                                                                            |
| updates               | created_at                     | date-time | Timestamp of when the update was created. Read-only.                                                                                                                                                                                                                                                                                                                          |
| updates               | description                    | string    | Description of the update.                                                                                                                                                                                                                                                                                                                                                    |
| updates               | id                             | uuid      | Identifier of the update. Read-only.                                                                                                                                                                                                                                                                                                                                          |
| updates               | manual_transition              | boolean   | Whether the update was applied manually by a user (true) or automatically by the system (false). Read-only.                                                                                                                                                                                                                                                                   |
| 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                         | string    | The status of the update.                                                                                                                                                                                                                                                                                                                                                     |
| data                  | id                             | uuid      | The ID of the maintenance.                                                                                                                                                                                                                                                                                                                                                    |
| data                  | relationships                  | object    | The relationships of a maintenance.                                                                                                                                                                                                                                                                                                                                           |
| relationships         | created_by_user                | object    | The Datadog user who created the maintenance.                                                                                                                                                                                                                                                                                                                                 |
| created_by_user       | data [*required*]              | object    | The data object identifying the Datadog user who created the maintenance.                                                                                                                                                                                                                                                                                                     |
| data                  | id [*required*]                | uuid      | The ID of the Datadog user who created the maintenance.                                                                                                                                                                                                                                                                                                                       |
| 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 maintenance.                                                                                                                                                                                                                                                                                                                           |
| last_modified_by_user | data [*required*]              | object    | The data object identifying the Datadog user who last modified the maintenance.                                                                                                                                                                                                                                                                                               |
| data                  | id [*required*]                | uuid      | The ID of the Datadog user who last modified the maintenance.                                                                                                                                                                                                                                                                                                                 |
| data                  | type [*required*]              | enum      | Users resource type. Allowed enum values: `users`. Default: `users`.                                                                                                                                                                                                                                                                                                          |
| relationships         | status_page                    | object    | The status page the maintenance belongs to.                                                                                                                                                                                                                                                                                                                                   |
| status_page           | data [*required*]              | object    | The data object identifying the status page associated with a maintenance.                                                                                                                                                                                                                                                                                                    |
| 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 maintenance was created from.                                                                                                                                                                                                                                                                                                                                |
| template              | data [*required*]              | object    | The data object identifying the template the maintenance was created from.                                                                                                                                                                                                                                                                                                    |
| data                  | id [*required*]                | string    | The ID of the maintenance template.                                                                                                                                                                                                                                                                                                                                           |
| data                  | type [*required*]              | enum      | Maintenance templates resource type. Allowed enum values: `maintenance_templates`. Default: `maintenance_templates`.                                                                                                                                                                                                                                                          |
| data                  | type [*required*]              | enum      | Maintenances resource type. Allowed enum values: `maintenances`. Default: `maintenances`.                                                                                                                                                                                                                                                                                     |
|                       | included                       | [<oneOf>] | The included related resources of a maintenance. 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": {
      "canceled_description": "string",
      "completed_date": "2019-09-19T10:00:00.000Z",
      "completed_description": "string",
      "components_affected": [
        {
          "id": "1234abcd-12ab-34cd-56ef-123456abcdef",
          "name": "string",
          "status": "operational"
        }
      ],
      "in_progress_description": "string",
      "is_backfilled": false,
      "modified_at": "2019-09-19T10:00:00.000Z",
      "published_date": "2019-09-19T10:00:00.000Z",
      "scheduled_description": "string",
      "start_date": "2019-09-19T10:00:00.000Z",
      "status": "string",
      "title": "string",
      "updates": [
        {
          "components_affected": [
            {
              "id": "1234abcd-12ab-34cd-56ef-123456abcdef",
              "name": "string",
              "status": "operational"
            }
          ],
          "created_at": "2019-09-19T10:00:00.000Z",
          "description": "string",
          "id": "string",
          "manual_transition": false,
          "modified_at": "2019-09-19T10:00:00.000Z",
          "started_at": "2019-09-19T10:00:00.000Z",
          "status": "string"
        }
      ]
    },
    "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"
        }
      },
      "template": {
        "data": {
          "id": "",
          "type": "maintenance_templates"
        }
      }
    },
    "type": "maintenances"
  },
  "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="CHANGE_ME"
export maintenance_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 GET "https://api.${DD_SITE}/api/v2/statuspages/${page_id}/maintenances/${maintenance_id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}"
```
{% /tab %}

{% tab label="Go" %}
```go
// Get maintenance 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() {
	// there is a valid "status_page" in the system
	StatusPageDataID := uuid.MustParse(os.Getenv("STATUS_PAGE_DATA_ID"))

	// there is a valid "maintenance" in the system
	MaintenanceDataID := uuid.MustParse(os.Getenv("MAINTENANCE_DATA_ID"))

	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.GetMaintenance(ctx, StatusPageDataID, MaintenanceDataID, *datadogV2.NewGetMaintenanceOptionalParameters())

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `StatusPagesApi.GetMaintenance`:\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
// Get maintenance 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.Maintenance;
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_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());
    }

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

    try {
      Maintenance result = apiInstance.getMaintenance(STATUS_PAGE_DATA_ID, MAINTENANCE_DATA_ID);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling StatusPagesApi#getMaintenance");
      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
"""
Get maintenance 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

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

# there is a valid "maintenance" in the system
MAINTENANCE_DATA_ID = environ["MAINTENANCE_DATA_ID"]

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = StatusPagesApi(api_client)
    response = api_instance.get_maintenance(
        page_id=STATUS_PAGE_DATA_ID,
        maintenance_id=MAINTENANCE_DATA_ID,
    )

    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
# Get maintenance 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

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

# there is a valid "maintenance" in the system
MAINTENANCE_DATA_ID = ENV["MAINTENANCE_DATA_ID"]
p api_instance.get_maintenance(STATUS_PAGE_DATA_ID, MAINTENANCE_DATA_ID)
```

#### 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
// Get maintenance returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_status_pages::GetMaintenanceOptionalParams;
use datadog_api_client::datadogV2::api_status_pages::StatusPagesAPI;

#[tokio::main]
async fn main() {
    // there is a valid "status_page" in the system
    let status_page_data_id = uuid::Uuid::parse_str(&std::env::var("STATUS_PAGE_DATA_ID").unwrap())
        .expect("Invalid UUID");

    // there is a valid "maintenance" in the system
    let maintenance_data_id = uuid::Uuid::parse_str(&std::env::var("MAINTENANCE_DATA_ID").unwrap())
        .expect("Invalid UUID");
    let configuration = datadog::Configuration::new();
    let api = StatusPagesAPI::with_config(configuration);
    let resp = api
        .get_maintenance(
            status_page_data_id.clone(),
            maintenance_data_id.clone(),
            GetMaintenanceOptionalParams::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
/**
 * Get maintenance 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);

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

// there is a valid "maintenance" in the system
const MAINTENANCE_DATA_ID = process.env.MAINTENANCE_DATA_ID as string;

const params: v2.StatusPagesApiGetMaintenanceRequest = {
  pageId: STATUS_PAGE_DATA_ID,
  maintenanceId: MAINTENANCE_DATA_ID,
};

apiInstance
  .getMaintenance(params)
  .then((data: v2.Maintenance) => {
    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 %}
