# Source: https://docs.datadoghq.com/api/latest/fleet-automation/

![](https://d.adroll.com/cm/b/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/bombora/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/experian/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/eyeota/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/g/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/index/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/l/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/n/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/o/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/outbrain/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/pubmatic/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/taboola/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/triplelift/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)![](https://d.adroll.com/cm/x/out?adroll_fpc=0788ac283710a7c30c1f425425769d25-1768336658229&pv=30876712072.47534&arrfrr=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&advertisable=AWPYDAH5JJH2JGSUWJVDKM)
# Fleet Automation
Manage automated deployments across your fleet of hosts.
Fleet Automation provides two types of deployments:
Configuration Deployments (`/configure`):
  * Apply configuration file changes to target hosts
  * Support merge-patch operations to update specific configuration fields
  * Support delete operations to remove configuration files
  * Useful for updating Datadog Agent settings, integration configs, and more


Package Upgrade Deployments (`/upgrade`):
  * Upgrade the Datadog Agent to specific versions


## [List all available Agent versions](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-available-agent-versions)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-available-agent-versions-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/agent_versionshttps://api.ap2.datadoghq.com/api/unstable/fleet/agent_versionshttps://api.datadoghq.eu/api/unstable/fleet/agent_versionshttps://api.ddog-gov.com/api/unstable/fleet/agent_versionshttps://api.datadoghq.com/api/unstable/fleet/agent_versionshttps://api.us3.datadoghq.com/api/unstable/fleet/agent_versionshttps://api.us5.datadoghq.com/api/unstable/fleet/agent_versions
### Overview
Retrieve a list of all available Datadog Agent versions.
This endpoint returns the available Agent versions that can be deployed to your fleet. These versions are used when creating deployments or configuring schedules for automated Agent upgrades.
This endpoint requires the `hosts_read` permission.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgentVersions-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a list of available Agent versions.
Field
Type
Description
data [_required_]
[object]
Array of available Agent versions.
attributes
object
version
string
The Agent version string.
id [_required_]
string
Unique identifier for the Agent version (same as version).
type [_required_]
enum
The type of Agent version resource. Allowed enum values: `agent_version`
default: `agent_version`
```
{
  "data": [
    {
      "attributes": {
        "version": "7.50.0"
      },
      "id": "7.50.0",
      "type": "agent_version"
    }
  ]
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  List all available Agent versions
Copy
```
                  # Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/agent_versions" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  List all available Agent versions
```
"""
List all available Agent versions returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["list_fleet_agent_versions"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.list_fleet_agent_versions()

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  List all available Agent versions
```
# List all available Agent versions returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.list_fleet_agent_versions".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.list_fleet_agent_versions()

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  List all available Agent versions
```
// List all available Agent versions 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.ListFleetAgentVersions", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.ListFleetAgentVersions(ctx)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  List all available Agent versions
```
// List all available Agent versions returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetAgentVersionsResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.listFleetAgentVersions", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetAgentVersionsResponse result = apiInstance.listFleetAgentVersions();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#listFleetAgentVersions");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  List all available Agent versions
```
// List all available Agent versions returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.ListFleetAgentVersions", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.list_fleet_agent_versions().await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  List all available Agent versions
```
/**
 * List all available Agent versions returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.listFleetAgentVersions"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

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

```

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

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


```

* * *
## [List all Datadog Agents](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-datadog-agents)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-datadog-agents-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/agentshttps://api.ap2.datadoghq.com/api/unstable/fleet/agentshttps://api.datadoghq.eu/api/unstable/fleet/agentshttps://api.ddog-gov.com/api/unstable/fleet/agentshttps://api.datadoghq.com/api/unstable/fleet/agentshttps://api.us3.datadoghq.com/api/unstable/fleet/agentshttps://api.us5.datadoghq.com/api/unstable/fleet/agents
### Overview
Retrieve a paginated list of all Datadog Agents. This endpoint returns a paginated list of all Datadog Agents with support for pagination, sorting, and filtering. Use the `page_number` and `page_size` query parameters to paginate through results. This endpoint requires the `hosts_read` permission.
### Arguments
#### Query Strings
Name
Type
Description
page_number
integer
Page number for pagination (starts at 0).
page_size
integer
Number of results per page (must be greater than 0 and less than or equal to 100).
sort_attribute
string
Attribute to sort by.
sort_descending
boolean
Sort order (true for descending, false for ascending).
tags
string
Comma-separated list of tags to filter agents.
filter
string
Filter string for narrowing down agent results.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetAgents-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a paginated list of Datadog Agents.
Field
Type
Description
data [_required_]
object
The response data containing status and agents array.
attributes [_required_]
object
agents
[object]
Array of agents matching the query criteria.
agent_version
string
The Datadog Agent version.
api_key_name
string
The API key name (if available and not redacted).
api_key_uuid
string
The API key UUID.
cloud_provider
string
The cloud provider where the agent is running.
cluster_name
string
Kubernetes cluster name (if applicable).
datadog_agent_key
string
The unique agent key identifier.
enabled_products
[string]
Datadog products enabled on the agent.
envs
[string]
Environments the agent is reporting from.
first_seen_at
int64
Timestamp when the agent was first seen.
hostname
string
The hostname of the agent.
ip_addresses
[string]
IP addresses of the agent.
is_single_step_instrumentation_enabled
boolean
Whether single-step instrumentation is enabled.
last_restart_at
int64
Timestamp of the last agent restart.
os
string
The operating system.
otel_collector_version
string
OpenTelemetry collector version (if applicable).
otel_collector_versions
[string]
List of OpenTelemetry collector versions (if applicable).
pod_name
string
Kubernetes pod name (if applicable).
remote_agent_management
string
Remote agent management status.
remote_config_status
string
Remote configuration status.
services
[string]
Services running on the agent.
tags
[object]
Tags associated with the agent.
key
string
value
string
team
string
Team associated with the agent.
id [_required_]
string
Status identifier.
type [_required_]
string
Resource type.
meta
object
Metadata for the list of agents response.
total_filtered_count
int64
Total number of agents matching the filter criteria across all pages.
```
{
  "data": {
    "attributes": {
      "agents": [
        {
          "agent_version": "7.50.0",
          "api_key_name": "Production API Key",
          "api_key_uuid": "a1b2c3d4-e5f6-4321-a123-123456789abc",
          "cloud_provider": "aws",
          "cluster_name": "string",
          "datadog_agent_key": "my-agent-hostname",
          "enabled_products": [],
          "envs": [],
          "first_seen_at": "integer",
          "hostname": "my-hostname",
          "ip_addresses": [],
          "is_single_step_instrumentation_enabled": false,
          "last_restart_at": "integer",
          "os": "linux",
          "otel_collector_version": "string",
          "otel_collector_versions": [],
          "pod_name": "string",
          "remote_agent_management": "enabled",
          "remote_config_status": "connected",
          "services": [],
          "tags": [
            {
              "key": "string",
              "value": "string"
            }
          ],
          "team": "string"
        }
      ]
    },
    "id": "done",
    "type": "status"
  },
  "meta": {
    "total_filtered_count": 150
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  List all Datadog Agents
Copy
```
                  # Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/agents" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  List all Datadog Agents
```
"""
List all Datadog Agents returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["list_fleet_agents"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.list_fleet_agents()

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  List all Datadog Agents
```
# List all Datadog Agents returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.list_fleet_agents".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.list_fleet_agents()

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  List all Datadog Agents
```
// List all Datadog Agents 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.ListFleetAgents", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.ListFleetAgents(ctx, *datadogV2.NewListFleetAgentsOptionalParameters())

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  List all Datadog Agents
```
// List all Datadog Agents returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetAgentsResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.listFleetAgents", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetAgentsResponse result = apiInstance.listFleetAgents();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#listFleetAgents");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  List all Datadog Agents
```
// List all Datadog Agents returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::api_fleet_automation::ListFleetAgentsOptionalParams;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.ListFleetAgents", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api
        .list_fleet_agents(ListFleetAgentsOptionalParams::default())
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  List all Datadog Agents
```
/**
 * List all Datadog Agents returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.listFleetAgents"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

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

```

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

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


```

* * *
## [Get detailed information about an agent](https://docs.datadoghq.com/api/latest/fleet-automation/#get-detailed-information-about-an-agent)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#get-detailed-information-about-an-agent-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/agents/{agent_key}https://api.ap2.datadoghq.com/api/unstable/fleet/agents/{agent_key}https://api.datadoghq.eu/api/unstable/fleet/agents/{agent_key}https://api.ddog-gov.com/api/unstable/fleet/agents/{agent_key}https://api.datadoghq.com/api/unstable/fleet/agents/{agent_key}https://api.us3.datadoghq.com/api/unstable/fleet/agents/{agent_key}https://api.us5.datadoghq.com/api/unstable/fleet/agents/{agent_key}
### Overview
Retrieve detailed information about a specific Datadog Agent. This endpoint returns comprehensive information about an agent including:
  * Agent details and metadata
  * Configured integrations organized by status (working, warning, error, missing)
  * Detected integrations
  * Configuration files and layers

This endpoint requires the `hosts_read` permission.
### Arguments
#### Path Parameters
Name
Type
Description
agent_key [_required_]
string
The unique identifier (agent key) for the Datadog Agent.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetAgentInfo-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing detailed information about a specific agent.
Field
Type
Description
data [_required_]
object
Represents detailed information about a specific Datadog Agent.
attributes [_required_]
object
Attributes for agent information.
agent_infos
object
Detailed information about a Datadog Agent.
agent_version
string
The Datadog Agent version.
api_key_name
string
The API key name (if available and not redacted).
api_key_uuid
string
The API key UUID.
cloud_provider
string
The cloud provider where the agent is running.
cluster_name
string
Kubernetes cluster name (if applicable).
datadog_agent_key
string
The unique agent key identifier.
enabled_products
[string]
Datadog products enabled on the agent.
env
[string]
Environments the agent is reporting from.
first_seen_at
int64
Timestamp when the agent was first seen.
hostname
string
The hostname of the agent.
hostname_aliases
[string]
Alternative hostname list for the agent.
install_method_installer_version
string
The version of the installer used.
install_method_tool
string
The tool used to install the agent.
ip_addresses
[string]
IP addresses of the agent.
is_single_step_instrumentation_enabled
boolean
Whether single-step instrumentation is enabled.
last_restart_at
int64
Timestamp of the last agent restart.
os
string
The operating system.
os_version
string
The operating system version.
otel_collector_version
string
OpenTelemetry collector version (if applicable).
otel_collector_versions
[string]
List of OpenTelemetry collector versions (if applicable).
otel_collectors
[object]
OpenTelemetry collectors associated with the agent (if applicable).
pod_name
string
Kubernetes pod name (if applicable).
python_version
string
The Python version used by the agent.
region
[string]
Regions where the agent is running.
remote_agent_management
string
Remote agent management status.
remote_config_status
string
Remote configuration status.
services
[string]
Services running on the agent.
tags
[string]
Tags associated with the agent.
team
string
Team associated with the agent.
configuration_files
object
Configuration information organized by layers.
compiled_configuration
string
The final compiled configuration.
env_configuration
string
Configuration from environment variables.
file_configuration
string
Configuration from files.
parsed_configuration
string
Parsed configuration output.
remote_configuration
string
Remote configuration settings.
runtime_configuration
string
Runtime configuration.
detected_integrations
[object]
List of detected integrations.
escaped_name
string
Escaped integration name.
prefix
string
Integration prefix identifier.
integrations
object
Integrations organized by their status.
configuration_files
[object]
Configuration files for integrations.
file_content
string
The raw content of the configuration file.
file_path
string
Path to the configuration file.
filename
string
Name of the configuration file.
datadog_agent_key
string
The unique agent key identifier.
error_integrations
[object]
Integrations with errors.
data_type
string
Type of data collected (metrics, logs).
error_messages
[string]
Error messages if the integration has issues.
init_config
string
Initialization configuration (YAML format).
instance_config
string
Instance-specific configuration (YAML format).
is_custom_check
boolean
Whether this is a custom integration.
log_config
string
Log collection configuration (YAML format).
name
string
Name of the integration instance.
source_index
int64
Index in the configuration file.
source_path
string
Path to the configuration file.
type
string
Integration type.
missing_integrations
[object]
Detected but not configured integrations.
escaped_name
string
Escaped integration name.
prefix
string
Integration prefix identifier.
warning_integrations
[object]
Integrations with warnings.
data_type
string
Type of data collected (metrics, logs).
error_messages
[string]
Error messages if the integration has issues.
init_config
string
Initialization configuration (YAML format).
instance_config
string
Instance-specific configuration (YAML format).
is_custom_check
boolean
Whether this is a custom integration.
log_config
string
Log collection configuration (YAML format).
name
string
Name of the integration instance.
source_index
int64
Index in the configuration file.
source_path
string
Path to the configuration file.
type
string
Integration type.
working_integrations
[object]
Integrations that are working correctly.
data_type
string
Type of data collected (metrics, logs).
error_messages
[string]
Error messages if the integration has issues.
init_config
string
Initialization configuration (YAML format).
instance_config
string
Instance-specific configuration (YAML format).
is_custom_check
boolean
Whether this is a custom integration.
log_config
string
Log collection configuration (YAML format).
name
string
Name of the integration instance.
source_index
int64
Index in the configuration file.
source_path
string
Path to the configuration file.
type
string
Integration type.
id [_required_]
string
The unique agent key identifier.
type [_required_]
enum
The type of Agent info resource. Allowed enum values: `datadog_agent_key`
default: `datadog_agent_key`
```
{
  "data": {
    "attributes": {
      "agent_infos": {
        "agent_version": "7.50.0",
        "api_key_name": "Production API Key",
        "api_key_uuid": "a1b2c3d4-e5f6-4321-a123-123456789abc",
        "cloud_provider": "aws",
        "cluster_name": "string",
        "datadog_agent_key": "my-agent-hostname",
        "enabled_products": [],
        "env": [],
        "first_seen_at": "integer",
        "hostname": "my-hostname",
        "hostname_aliases": [],
        "install_method_installer_version": "1.2.3",
        "install_method_tool": "chef",
        "ip_addresses": [],
        "is_single_step_instrumentation_enabled": false,
        "last_restart_at": "integer",
        "os": "linux",
        "os_version": "Ubuntu 20.04",
        "otel_collector_version": "string",
        "otel_collector_versions": [],
        "otel_collectors": [],
        "pod_name": "string",
        "python_version": "3.9.5",
        "region": [],
        "remote_agent_management": "enabled",
        "remote_config_status": "connected",
        "services": [],
        "tags": [],
        "team": "string"
      },
      "configuration_files": {
        "compiled_configuration": "string",
        "env_configuration": "string",
        "file_configuration": "string",
        "parsed_configuration": "string",
        "remote_configuration": "string",
        "runtime_configuration": "string"
      },
      "detected_integrations": [
        {
          "escaped_name": "postgresql",
          "prefix": "postgres"
        }
      ],
      "integrations": {
        "configuration_files": [
          {
            "file_content": "string",
            "file_path": "/conf.d/postgres.d/postgres.yaml",
            "filename": "postgres.yaml"
          }
        ],
        "datadog_agent_key": "string",
        "error_integrations": [
          {
            "data_type": "metrics",
            "error_messages": [],
            "init_config": "string",
            "instance_config": "string",
            "is_custom_check": false,
            "log_config": "string",
            "name": "string",
            "source_index": "integer",
            "source_path": "string",
            "type": "postgres"
          }
        ],
        "missing_integrations": [
          {
            "escaped_name": "postgresql",
            "prefix": "postgres"
          }
        ],
        "warning_integrations": [
          {
            "data_type": "metrics",
            "error_messages": [],
            "init_config": "string",
            "instance_config": "string",
            "is_custom_check": false,
            "log_config": "string",
            "name": "string",
            "source_index": "integer",
            "source_path": "string",
            "type": "postgres"
          }
        ],
        "working_integrations": [
          {
            "data_type": "metrics",
            "error_messages": [],
            "init_config": "string",
            "instance_config": "string",
            "is_custom_check": false,
            "log_config": "string",
            "name": "string",
            "source_index": "integer",
            "source_path": "string",
            "type": "postgres"
          }
        ]
      }
    },
    "id": "my-agent-hostname",
    "type": "datadog_agent_key"
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Get detailed information about an agent
Copy
```
                  # Path parameters  
export agent_key="CHANGE_ME"  
# Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/agents/${agent_key}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Get detailed information about an agent
```
"""
Get detailed information about an agent returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["get_fleet_agent_info"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.get_fleet_agent_info(
        agent_key="agent_key",
    )

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Get detailed information about an agent
```
# Get detailed information about an agent returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_fleet_agent_info".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.get_fleet_agent_info("agent_key")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Get detailed information about an agent
```
// Get detailed information about an agent 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetFleetAgentInfo", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.GetFleetAgentInfo(ctx, "agent_key")

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Get detailed information about an agent
```
// Get detailed information about an agent returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetAgentInfoResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getFleetAgentInfo", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetAgentInfoResponse result = apiInstance.getFleetAgentInfo("agent_key");
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#getFleetAgentInfo");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Get detailed information about an agent
```
// Get detailed information about an agent returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetFleetAgentInfo", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.get_fleet_agent_info("agent_key".to_string()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Get detailed information about an agent
```
/**
 * Get detailed information about an agent returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getFleetAgentInfo"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiGetFleetAgentInfoRequest = {
  agentKey: "agent_key",
};

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

```

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

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


```

* * *
## [List all deployments](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-deployments)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-deployments-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/deploymentshttps://api.ap2.datadoghq.com/api/unstable/fleet/deploymentshttps://api.datadoghq.eu/api/unstable/fleet/deploymentshttps://api.ddog-gov.com/api/unstable/fleet/deploymentshttps://api.datadoghq.com/api/unstable/fleet/deploymentshttps://api.us3.datadoghq.com/api/unstable/fleet/deploymentshttps://api.us5.datadoghq.com/api/unstable/fleet/deployments
### Overview
Retrieve a list of all deployments for fleet automation. Use the `page_size` and `page_offset` parameters to paginate results. This endpoint requires the `hosts_read` permission.
### Arguments
#### Query Strings
Name
Type
Description
page_size
integer
Number of deployments to return per page. Maximum value is 100.
page_offset
integer
Index of the first deployment to return. Use this with `page_size` to paginate through results.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetDeployments-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetDeployments-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetDeployments-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetDeployments-403-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetDeployments-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a paginated list of deployments.
Field
Type
Description
data [_required_]
[object]
Array of deployments matching the query criteria.
attributes [_required_]
object
Attributes of a deployment in the response.
config_operations
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
estimated_end_time_unix
int64
Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
hosts
[object]
Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the `limit` and `page` query parameters to navigate through pages. Pagination metadata is included in the response `meta.hosts` field.
error
string
Error message if the deployment failed on this host.
hostname
string
The hostname of the agent.
status
string
Current deployment status for this specific host.
versions
[object]
List of packages and their versions currently installed on this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
packages
[object]
List of packages to deploy to target hosts. Present only for package upgrade deployments.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
total_hosts
int64
Total number of hosts targeted by this deployment.
id [_required_]
string
Unique identifier for the deployment.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
meta
object
Metadata for the list of deployments, including pagination information.
page
object
Pagination details for the list of deployments.
total_count
int64
Total number of deployments available across all pages.
```
{
  "data": [
    {
      "attributes": {
        "config_operations": [
          {
            "file_op": "merge-patch",
            "file_path": "/datadog.yaml",
            "patch": {
              "apm_config": {
                "enabled": true
              },
              "log_level": "debug",
              "logs_enabled": true
            }
          }
        ],
        "estimated_end_time_unix": 1699999999,
        "filter_query": "env:prod AND service:web",
        "high_level_status": "pending",
        "hosts": [
          {
            "error": "",
            "hostname": "web-server-01.example.com",
            "status": "succeeded",
            "versions": [
              {
                "current_version": "7.51.0",
                "initial_version": "7.51.0",
                "package_name": "datadog-agent",
                "target_version": "7.52.0"
              }
            ]
          }
        ],
        "packages": [
          {
            "name": "datadog-agent",
            "version": "7.52.0"
          }
        ],
        "total_hosts": 42
      },
      "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
      "type": "deployment"
    }
  ],
  "meta": {
    "page": {
      "total_count": 25
    }
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  List all deployments
Copy
```
                  # Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  List all deployments
```
"""
List all deployments returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["list_fleet_deployments"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.list_fleet_deployments()

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  List all deployments
```
# List all deployments returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.list_fleet_deployments".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.list_fleet_deployments()

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  List all deployments
```
// List all deployments 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.ListFleetDeployments", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.ListFleetDeployments(ctx, *datadogV2.NewListFleetDeploymentsOptionalParameters())

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  List all deployments
```
// List all deployments returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentsResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.listFleetDeployments", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetDeploymentsResponse result = apiInstance.listFleetDeployments();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#listFleetDeployments");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  List all deployments
```
// List all deployments returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::api_fleet_automation::ListFleetDeploymentsOptionalParams;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.ListFleetDeployments", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api
        .list_fleet_deployments(ListFleetDeploymentsOptionalParams::default())
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  List all deployments
```
/**
 * List all deployments returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.listFleetDeployments"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

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

```

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

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


```

* * *
## [Create a configuration deployment](https://docs.datadoghq.com/api/latest/fleet-automation/#create-a-configuration-deployment)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#create-a-configuration-deployment-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
POST https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.ap2.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.datadoghq.eu/api/unstable/fleet/deployments/configurehttps://api.ddog-gov.com/api/unstable/fleet/deployments/configurehttps://api.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.us3.datadoghq.com/api/unstable/fleet/deployments/configurehttps://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure
### Overview
Create a new deployment to apply configuration changes to a fleet of hosts matching the specified filter query.
This endpoint supports two types of configuration operations:
  * `merge-patch`: Merges the provided patch data with the existing configuration file, creating the file if it doesn’t exist
  * `delete`: Removes the specified configuration file from the target hosts


The deployment is created and started automatically. You can specify multiple configuration operations that will be executed in order on each target host. Use the filter query to target specific hosts using the Datadog query syntax.
This endpoint requires all of the following permissions:
* `agent_upgrade_write`
* `fleet_policies_write`
  

### Request
#### Body Data (required)
Request payload containing the deployment details.
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Field
Type
Description
data [_required_]
object
Data for creating a new configuration deployment.
attributes [_required_]
object
Attributes for creating a new configuration deployment.
config_operations [_required_]
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
```
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "filter_query": "env:prod AND service:web"
    },
    "type": "deployment"
  }
}
```

Copy
### Response
  * [201](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentConfigure-201-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentConfigure-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentConfigure-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentConfigure-403-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentConfigure-429-v2)


CREATED
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single deployment.
Field
Type
Description
data
object
A deployment that defines automated configuration changes for a fleet of hosts.
attributes [_required_]
object
Attributes of a deployment in the response.
config_operations
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
estimated_end_time_unix
int64
Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
hosts
[object]
Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the `limit` and `page` query parameters to navigate through pages. Pagination metadata is included in the response `meta.hosts` field.
error
string
Error message if the deployment failed on this host.
hostname
string
The hostname of the agent.
status
string
Current deployment status for this specific host.
versions
[object]
List of packages and their versions currently installed on this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
packages
[object]
List of packages to deploy to target hosts. Present only for package upgrade deployments.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
total_hosts
int64
Total number of hosts targeted by this deployment.
id [_required_]
string
Unique identifier for the deployment.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
meta
object
Metadata for a single deployment response, including pagination information for hosts.
hosts
object
Pagination details for the list of hosts in a deployment.
current_page
int64
Current page index (zero-based).
page_size
int64
Number of hosts returned per page.
total_hosts
int64
Total number of hosts in this deployment.
total_pages
int64
Total number of pages available.
```
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "estimated_end_time_unix": 1699999999,
      "filter_query": "env:prod AND service:web",
      "high_level_status": "pending",
      "hosts": [
        {
          "error": "",
          "hostname": "web-server-01.example.com",
          "status": "succeeded",
          "versions": [
            {
              "current_version": "7.51.0",
              "initial_version": "7.51.0",
              "package_name": "datadog-agent",
              "target_version": "7.52.0"
            }
          ]
        }
      ],
      "packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ],
      "total_hosts": 42
    },
    "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
    "type": "deployment"
  },
  "meta": {
    "hosts": {
      "current_page": 0,
      "page_size": 50,
      "total_hosts": 150,
      "total_pages": 3
    }
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Create a configuration deployment
Copy
```
                  ## Add log integrations for multiple services
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/postgres.d/logs.yaml",
          "patch": {
            "logs": [
              {
                "path": "/var/log/postgres.log",
                "service": "postgres1",
                "source": "postgres",
                "type": "file"
              }
            ]
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/kafka.d/logs.yaml",
          "patch": {
            "logs": [
              {
                "path": "/var/log/kafka.log",
                "service": "kafka1",
                "source": "kafka",
                "type": "file"
              }
            ]
          }
        }
      ],
      "filter_query": "env:prod"
    },
    "type": "deployment"
  }
}
EOF  
## Comprehensive example with multiple configuration file types
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "apm_dd_url": "https://trace.agent.datadoghq.com",
              "enabled": true
            },
            "log_level": "info",
            "logs_enabled": true,
            "process_config": {
              "enabled": true
            }
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/security-agent.yaml",
          "patch": {
            "runtime_security_config": {
              "enabled": true,
              "fim_enabled": true
            }
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/system-probe.yaml",
          "patch": {
            "network_config": {
              "enabled": true
            },
            "service_monitoring_config": {
              "enabled": true
            }
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/application_monitoring.yaml",
          "patch": {
            "enabled": true,
            "server": {
              "host": "0.0.0.0",
              "port": 8126
            }
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/logs.d/custom-app.yaml",
          "patch": {
            "logs": [
              {
                "path": "/var/log/custom-app/*.log",
                "service": "custom-app",
                "source": "custom",
                "type": "file"
              }
            ]
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/docker.d/docker-logs.yaml",
          "patch": {
            "logs": [
              {
                "service": "docker",
                "source": "docker",
                "type": "docker"
              }
            ]
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/snmp.d/network-devices.yaml",
          "patch": {
            "init_config": {
              "loader": "core"
            },
            "instances": [
              {
                "community_string": "public",
                "ip_address": "192.168.1.1"
              }
            ]
          }
        },
        {
          "file_op": "merge-patch",
          "file_path": "/conf.d/postgres.d/conf.yaml",
          "patch": {
            "instances": [
              {
                "dbname": "postgres",
                "host": "localhost",
                "port": 5432,
                "username": "datadog"
              }
            ]
          }
        },
        {
          "file_op": "delete",
          "file_path": "/conf.d/deprecated-integration.yaml"
        }
      ],
      "filter_query": "env:prod AND datacenter:us-east-1"
    },
    "type": "deployment"
  }
}
EOF  
## Delete a configuration file
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "delete",
          "file_path": "/conf.d/old-integration.yaml"
        }
      ],
      "filter_query": "env:dev"
    },
    "type": "deployment"
  }
}
EOF  
## Enable APM and Logs products
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "filter_query": "env:prod AND service:web"
    },
    "type": "deployment"
  }
}
EOF  
## Set log level to info
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/configure" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "log_level": "info"
          }
        }
      ],
      "filter_query": "env:staging"
    },
    "type": "deployment"
  }
}
EOF  

                
```

#####  Create a configuration deployment
```
"""
Create a configuration deployment returns "CREATED" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi
from datadog_api_client.v2.model.fleet_deployment_configure_attributes import FleetDeploymentConfigureAttributes
from datadog_api_client.v2.model.fleet_deployment_configure_create import FleetDeploymentConfigureCreate
from datadog_api_client.v2.model.fleet_deployment_configure_create_request import FleetDeploymentConfigureCreateRequest
from datadog_api_client.v2.model.fleet_deployment_file_op import FleetDeploymentFileOp
from datadog_api_client.v2.model.fleet_deployment_operation import FleetDeploymentOperation
from datadog_api_client.v2.model.fleet_deployment_resource_type import FleetDeploymentResourceType

body = FleetDeploymentConfigureCreateRequest(
    data=FleetDeploymentConfigureCreate(
        attributes=FleetDeploymentConfigureAttributes(
            config_operations=[
                FleetDeploymentOperation(
                    file_op=FleetDeploymentFileOp.MERGE_PATCH,
                    file_path="/datadog.yaml",
                    patch=dict([("apm_config", "{'enabled': True}"), ("log_level", "debug"), ("logs_enabled", "True")]),
                ),
            ],
            filter_query="env:prod AND service:web",
        ),
        type=FleetDeploymentResourceType.DEPLOYMENT,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_fleet_deployment_configure"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.create_fleet_deployment_configure(body=body)

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Create a configuration deployment
```
# Create a configuration deployment returns "CREATED" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_fleet_deployment_configure".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new

body = DatadogAPIClient::V2::FleetDeploymentConfigureCreateRequest.new({
  data: DatadogAPIClient::V2::FleetDeploymentConfigureCreate.new({
    attributes: DatadogAPIClient::V2::FleetDeploymentConfigureAttributes.new({
      config_operations: [
        DatadogAPIClient::V2::FleetDeploymentOperation.new({
          file_op: DatadogAPIClient::V2::FleetDeploymentFileOp::MERGE_PATCH,
          file_path: "/datadog.yaml",
          patch: {
            "apm_config": "{'enabled': True}", "log_level": "debug", "logs_enabled": "True",
          },
        }),
      ],
      filter_query: "env:prod AND service:web",
    }),
    type: DatadogAPIClient::V2::FleetDeploymentResourceType::DEPLOYMENT,
  }),
})
p api_instance.create_fleet_deployment_configure(body)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Create a configuration deployment
```
// Create a configuration deployment 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"
)

func main() {
	body := datadogV2.FleetDeploymentConfigureCreateRequest{
		Data: datadogV2.FleetDeploymentConfigureCreate{
			Attributes: datadogV2.FleetDeploymentConfigureAttributes{
				ConfigOperations: []datadogV2.FleetDeploymentOperation{
					{
						FileOp:   datadogV2.FLEETDEPLOYMENTFILEOP_MERGE_PATCH,
						FilePath: "/datadog.yaml",
						Patch: map[string]interface{}{
							"apm_config":   "{'enabled': True}",
							"log_level":    "debug",
							"logs_enabled": "True",
						},
					},
				},
				FilterQuery: datadog.PtrString("env:prod AND service:web"),
			},
			Type: datadogV2.FLEETDEPLOYMENTRESOURCETYPE_DEPLOYMENT,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateFleetDeploymentConfigure", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.CreateFleetDeploymentConfigure(ctx, body)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Create a configuration deployment
```
// Create a configuration deployment returns "CREATED" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentConfigureAttributes;
import com.datadog.api.client.v2.model.FleetDeploymentConfigureCreate;
import com.datadog.api.client.v2.model.FleetDeploymentConfigureCreateRequest;
import com.datadog.api.client.v2.model.FleetDeploymentFileOp;
import com.datadog.api.client.v2.model.FleetDeploymentOperation;
import com.datadog.api.client.v2.model.FleetDeploymentResourceType;
import com.datadog.api.client.v2.model.FleetDeploymentResponse;
import java.util.Collections;
import java.util.Map;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createFleetDeploymentConfigure", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    FleetDeploymentConfigureCreateRequest body =
        new FleetDeploymentConfigureCreateRequest()
            .data(
                new FleetDeploymentConfigureCreate()
                    .attributes(
                        new FleetDeploymentConfigureAttributes()
                            .configOperations(
                                Collections.singletonList(
                                    new FleetDeploymentOperation()
                                        .fileOp(FleetDeploymentFileOp.MERGE_PATCH)
                                        .filePath("/datadog.yaml")
                                        .patch(
                                            Map.ofEntries(
                                                Map.entry("apm_config", "{'enabled': True}"),
                                                Map.entry("log_level", "debug"),
                                                Map.entry("logs_enabled", "True")))))
                            .filterQuery("env:prod AND service:web"))
                    .type(FleetDeploymentResourceType.DEPLOYMENT));

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Create a configuration deployment
```
// Create a configuration deployment returns "CREATED" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::model::FleetDeploymentConfigureAttributes;
use datadog_api_client::datadogV2::model::FleetDeploymentConfigureCreate;
use datadog_api_client::datadogV2::model::FleetDeploymentConfigureCreateRequest;
use datadog_api_client::datadogV2::model::FleetDeploymentFileOp;
use datadog_api_client::datadogV2::model::FleetDeploymentOperation;
use datadog_api_client::datadogV2::model::FleetDeploymentResourceType;
use serde_json::Value;
use std::collections::BTreeMap;

#[tokio::main]
async fn main() {
    let body = FleetDeploymentConfigureCreateRequest::new(FleetDeploymentConfigureCreate::new(
        FleetDeploymentConfigureAttributes::new(vec![FleetDeploymentOperation::new(
            FleetDeploymentFileOp::MERGE_PATCH,
            "/datadog.yaml".to_string(),
        )
        .patch(BTreeMap::from([
            ("log_level".to_string(), Value::from("debug")),
            ("logs_enabled".to_string(), Value::from("True")),
        ]))])
        .filter_query("env:prod AND service:web".to_string()),
        FleetDeploymentResourceType::DEPLOYMENT,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateFleetDeploymentConfigure", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.create_fleet_deployment_configure(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Create a configuration deployment
```
/**
 * Create a configuration deployment returns "CREATED" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createFleetDeploymentConfigure"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiCreateFleetDeploymentConfigureRequest = {
  body: {
    data: {
      attributes: {
        configOperations: [
          {
            fileOp: "merge-patch",
            filePath: "/datadog.yaml",
            patch: {
              apm_config: "{'enabled': True}",
              log_level: "debug",
              logs_enabled: "True",
            },
          },
        ],
        filterQuery: "env:prod AND service:web",
      },
      type: "deployment",
    },
  },
};

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

```

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

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


```

* * *
## [Upgrade hosts](https://docs.datadoghq.com/api/latest/fleet-automation/#upgrade-hosts)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#upgrade-hosts-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
POST https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/upgradehttps://api.ap2.datadoghq.com/api/unstable/fleet/deployments/upgradehttps://api.datadoghq.eu/api/unstable/fleet/deployments/upgradehttps://api.ddog-gov.com/api/unstable/fleet/deployments/upgradehttps://api.datadoghq.com/api/unstable/fleet/deployments/upgradehttps://api.us3.datadoghq.com/api/unstable/fleet/deployments/upgradehttps://api.us5.datadoghq.com/api/unstable/fleet/deployments/upgrade
### Overview
Create and immediately start a new package upgrade on hosts matching the specified filter query.
This endpoint allows you to upgrade the Datadog Agent to a specific version on hosts matching the specified filter query.
The deployment is created and started automatically. The system will:
  1. Identify all hosts matching the filter query
  2. Validate that the specified version is available
  3. Begin rolling out the package upgrade to the target hosts

This endpoint requires all of the following permissions:
* `agent_upgrade_write`
* `fleet_policies_write`
  

### Request
#### Body Data (required)
Request payload containing the package upgrade details.
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Field
Type
Description
data [_required_]
object
Data for creating a new package upgrade deployment.
attributes [_required_]
object
Attributes for creating a new package upgrade deployment.
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
target_packages [_required_]
[object]
List of packages and their target versions to deploy to the selected hosts.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
```
{
  "data": {
    "attributes": {
      "filter_query": "env:prod AND service:web",
      "target_packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ]
    },
    "type": "deployment"
  }
}
```

Copy
### Response
  * [201](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-201-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetDeploymentUpgrade-429-v2)


CREATED
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single deployment.
Field
Type
Description
data
object
A deployment that defines automated configuration changes for a fleet of hosts.
attributes [_required_]
object
Attributes of a deployment in the response.
config_operations
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
estimated_end_time_unix
int64
Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
hosts
[object]
Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the `limit` and `page` query parameters to navigate through pages. Pagination metadata is included in the response `meta.hosts` field.
error
string
Error message if the deployment failed on this host.
hostname
string
The hostname of the agent.
status
string
Current deployment status for this specific host.
versions
[object]
List of packages and their versions currently installed on this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
packages
[object]
List of packages to deploy to target hosts. Present only for package upgrade deployments.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
total_hosts
int64
Total number of hosts targeted by this deployment.
id [_required_]
string
Unique identifier for the deployment.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
meta
object
Metadata for a single deployment response, including pagination information for hosts.
hosts
object
Pagination details for the list of hosts in a deployment.
current_page
int64
Current page index (zero-based).
page_size
int64
Number of hosts returned per page.
total_hosts
int64
Total number of hosts in this deployment.
total_pages
int64
Total number of pages available.
```
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "estimated_end_time_unix": 1699999999,
      "filter_query": "env:prod AND service:web",
      "high_level_status": "pending",
      "hosts": [
        {
          "error": "",
          "hostname": "web-server-01.example.com",
          "status": "succeeded",
          "versions": [
            {
              "current_version": "7.51.0",
              "initial_version": "7.51.0",
              "package_name": "datadog-agent",
              "target_version": "7.52.0"
            }
          ]
        }
      ],
      "packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ],
      "total_hosts": 42
    },
    "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
    "type": "deployment"
  },
  "meta": {
    "hosts": {
      "current_page": 0,
      "page_size": 50,
      "total_hosts": 150,
      "total_pages": 3
    }
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Upgrade hosts
Copy
```
                  ## Upgrade Datadog Agent to version 7.52.0
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "filter_query": "env:prod AND service:web",
      "target_packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ]
    },
    "type": "deployment"
  }
}
EOF  
## Upgrade multiple packages
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/upgrade" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "filter_query": "env:staging",
      "target_packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0-1"
        },
        {
          "name": "datadog-apm-inject",
          "version": "0.10.0"
        }
      ]
    },
    "type": "deployment"
  }
}
EOF  

                
```

#####  Upgrade hosts
```
"""
Upgrade hosts returns "CREATED" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi
from datadog_api_client.v2.model.fleet_deployment_package import FleetDeploymentPackage
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_attributes import (
    FleetDeploymentPackageUpgradeAttributes,
)
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_create import FleetDeploymentPackageUpgradeCreate
from datadog_api_client.v2.model.fleet_deployment_package_upgrade_create_request import (
    FleetDeploymentPackageUpgradeCreateRequest,
)
from datadog_api_client.v2.model.fleet_deployment_resource_type import FleetDeploymentResourceType

body = FleetDeploymentPackageUpgradeCreateRequest(
    data=FleetDeploymentPackageUpgradeCreate(
        attributes=FleetDeploymentPackageUpgradeAttributes(
            filter_query="env:prod AND service:web",
            target_packages=[
                FleetDeploymentPackage(
                    name="datadog-agent",
                    version="7.52.0",
                ),
            ],
        ),
        type=FleetDeploymentResourceType.DEPLOYMENT,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_fleet_deployment_upgrade"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.create_fleet_deployment_upgrade(body=body)

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Upgrade hosts
```
# Upgrade hosts returns "CREATED" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_fleet_deployment_upgrade".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new

body = DatadogAPIClient::V2::FleetDeploymentPackageUpgradeCreateRequest.new({
  data: DatadogAPIClient::V2::FleetDeploymentPackageUpgradeCreate.new({
    attributes: DatadogAPIClient::V2::FleetDeploymentPackageUpgradeAttributes.new({
      filter_query: "env:prod AND service:web",
      target_packages: [
        DatadogAPIClient::V2::FleetDeploymentPackage.new({
          name: "datadog-agent",
          version: "7.52.0",
        }),
      ],
    }),
    type: DatadogAPIClient::V2::FleetDeploymentResourceType::DEPLOYMENT,
  }),
})
p api_instance.create_fleet_deployment_upgrade(body)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Upgrade hosts
```
// Upgrade hosts 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"
)

func main() {
	body := datadogV2.FleetDeploymentPackageUpgradeCreateRequest{
		Data: datadogV2.FleetDeploymentPackageUpgradeCreate{
			Attributes: datadogV2.FleetDeploymentPackageUpgradeAttributes{
				FilterQuery: datadog.PtrString("env:prod AND service:web"),
				TargetPackages: []datadogV2.FleetDeploymentPackage{
					{
						Name:    "datadog-agent",
						Version: "7.52.0",
					},
				},
			},
			Type: datadogV2.FLEETDEPLOYMENTRESOURCETYPE_DEPLOYMENT,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateFleetDeploymentUpgrade", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.CreateFleetDeploymentUpgrade(ctx, body)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Upgrade hosts
```
// Upgrade hosts returns "CREATED" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentPackage;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeAttributes;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeCreate;
import com.datadog.api.client.v2.model.FleetDeploymentPackageUpgradeCreateRequest;
import com.datadog.api.client.v2.model.FleetDeploymentResourceType;
import com.datadog.api.client.v2.model.FleetDeploymentResponse;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createFleetDeploymentUpgrade", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    FleetDeploymentPackageUpgradeCreateRequest body =
        new FleetDeploymentPackageUpgradeCreateRequest()
            .data(
                new FleetDeploymentPackageUpgradeCreate()
                    .attributes(
                        new FleetDeploymentPackageUpgradeAttributes()
                            .filterQuery("env:prod AND service:web")
                            .targetPackages(
                                Collections.singletonList(
                                    new FleetDeploymentPackage()
                                        .name("datadog-agent")
                                        .version("7.52.0"))))
                    .type(FleetDeploymentResourceType.DEPLOYMENT));

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Upgrade hosts
```
// Upgrade hosts returns "CREATED" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::model::FleetDeploymentPackage;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeAttributes;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeCreate;
use datadog_api_client::datadogV2::model::FleetDeploymentPackageUpgradeCreateRequest;
use datadog_api_client::datadogV2::model::FleetDeploymentResourceType;

#[tokio::main]
async fn main() {
    let body =
        FleetDeploymentPackageUpgradeCreateRequest::new(FleetDeploymentPackageUpgradeCreate::new(
            FleetDeploymentPackageUpgradeAttributes::new(vec![FleetDeploymentPackage::new(
                "datadog-agent".to_string(),
                "7.52.0".to_string(),
            )])
            .filter_query("env:prod AND service:web".to_string()),
            FleetDeploymentResourceType::DEPLOYMENT,
        ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateFleetDeploymentUpgrade", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.create_fleet_deployment_upgrade(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Upgrade hosts
```
/**
 * Upgrade hosts returns "CREATED" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createFleetDeploymentUpgrade"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiCreateFleetDeploymentUpgradeRequest = {
  body: {
    data: {
      attributes: {
        filterQuery: "env:prod AND service:web",
        targetPackages: [
          {
            name: "datadog-agent",
            version: "7.52.0",
          },
        ],
      },
      type: "deployment",
    },
  },
};

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

```

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

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


```

* * *
## [Get a configuration deployment by ID](https://docs.datadoghq.com/api/latest/fleet-automation/#get-a-configuration-deployment-by-id)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#get-a-configuration-deployment-by-id-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}https://api.ap2.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}https://api.datadoghq.eu/api/unstable/fleet/deployments/{deployment_id}https://api.ddog-gov.com/api/unstable/fleet/deployments/{deployment_id}https://api.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}https://api.us3.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}https://api.us5.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}
### Overview
Retrieve detailed information about a specific deployment using its unique identifier. This endpoint returns comprehensive information about a deployment, including:
  * Deployment metadata (ID, type, filter query)
  * Total number of target hosts
  * Current high-level status (pending, running, succeeded, failed)
  * Estimated completion time
  * Configuration operations that were or are being applied
  * Detailed host list: A paginated array of hosts included in this deployment with individual host status, current package versions, and any errors


The host list provides visibility into the per-host execution status, allowing you to:
  * Monitor which hosts have completed successfully
  * Identify hosts that are still in progress
  * Investigate failures on specific hosts
  * View current package versions installed on each host (including initial, target, and current versions for each package)


Pagination: Use the `limit` and `page` query parameters to paginate through hosts. The response includes pagination metadata in the `meta.hosts` field with information about the current page, total pages, and total host count. The default page size is 50 hosts, with a maximum of 100.
This endpoint requires the `hosts_read` permission.
### Arguments
#### Path Parameters
Name
Type
Description
deployment_id [_required_]
string
The unique identifier of the deployment to retrieve.
#### Query Strings
Name
Type
Description
limit
integer
Maximum number of hosts to return per page. Default is 50, maximum is 100.
page
integer
Page index for pagination (zero-based). Use this to retrieve subsequent pages of hosts.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetDeployment-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single deployment.
Field
Type
Description
data
object
A deployment that defines automated configuration changes for a fleet of hosts.
attributes [_required_]
object
Attributes of a deployment in the response.
config_operations
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
estimated_end_time_unix
int64
Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
hosts
[object]
Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the `limit` and `page` query parameters to navigate through pages. Pagination metadata is included in the response `meta.hosts` field.
error
string
Error message if the deployment failed on this host.
hostname
string
The hostname of the agent.
status
string
Current deployment status for this specific host.
versions
[object]
List of packages and their versions currently installed on this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
packages
[object]
List of packages to deploy to target hosts. Present only for package upgrade deployments.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
total_hosts
int64
Total number of hosts targeted by this deployment.
id [_required_]
string
Unique identifier for the deployment.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
meta
object
Metadata for a single deployment response, including pagination information for hosts.
hosts
object
Pagination details for the list of hosts in a deployment.
current_page
int64
Current page index (zero-based).
page_size
int64
Number of hosts returned per page.
total_hosts
int64
Total number of hosts in this deployment.
total_pages
int64
Total number of pages available.
```
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "estimated_end_time_unix": 1699999999,
      "filter_query": "env:prod AND service:web",
      "high_level_status": "pending",
      "hosts": [
        {
          "error": "",
          "hostname": "web-server-01.example.com",
          "status": "succeeded",
          "versions": [
            {
              "current_version": "7.51.0",
              "initial_version": "7.51.0",
              "package_name": "datadog-agent",
              "target_version": "7.52.0"
            }
          ]
        }
      ],
      "packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ],
      "total_hosts": 42
    },
    "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
    "type": "deployment"
  },
  "meta": {
    "hosts": {
      "current_page": 0,
      "page_size": 50,
      "total_hosts": 150,
      "total_pages": 3
    }
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Get a configuration deployment by ID
Copy
```
                  # Path parameters  
export deployment_id="abc-def-ghi"  
# Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/${deployment_id}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Get a configuration deployment by ID
```
"""
Get a configuration deployment by ID returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["get_fleet_deployment"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.get_fleet_deployment(
        deployment_id="deployment_id",
    )

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Get a configuration deployment by ID
```
# Get a configuration deployment by ID returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_fleet_deployment".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.get_fleet_deployment("deployment_id")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Get a configuration deployment by ID
```
// Get a configuration deployment by ID 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetFleetDeployment", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.GetFleetDeployment(ctx, "deployment_id", *datadogV2.NewGetFleetDeploymentOptionalParameters())

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Get a configuration deployment by ID
```
// Get a configuration deployment by ID returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getFleetDeployment", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetDeploymentResponse result = apiInstance.getFleetDeployment("abc-def-ghi");
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#getFleetDeployment");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Get a configuration deployment by ID
```
// Get a configuration deployment by ID returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::api_fleet_automation::GetFleetDeploymentOptionalParams;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetFleetDeployment", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api
        .get_fleet_deployment(
            "deployment_id".to_string(),
            GetFleetDeploymentOptionalParams::default(),
        )
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Get a configuration deployment by ID
```
/**
 * Get a configuration deployment by ID returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getFleetDeployment"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiGetFleetDeploymentRequest = {
  deploymentId: "deployment_id",
};

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

```

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

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


```

* * *
## [Cancel a deployment](https://docs.datadoghq.com/api/latest/fleet-automation/#cancel-a-deployment)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#cancel-a-deployment-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
POST https://api.ap1.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.ap2.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.datadoghq.eu/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.ddog-gov.com/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.us3.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}/cancelhttps://api.us5.datadoghq.com/api/unstable/fleet/deployments/{deployment_id}/cancel
### Overview
Cancel an active deployment and stop all pending operations. When you cancel a deployment:
  * All pending operations on hosts that haven’t started yet are stopped
  * Operations currently in progress on hosts may complete or be interrupted, depending on their current state
  * Configuration changes or package upgrades already applied to hosts are not rolled back


After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts were successfully updated before the cancellation.
This endpoint requires all of the following permissions:
* `agent_upgrade_write`
* `fleet_policies_write`
  

### Arguments
#### Path Parameters
Name
Type
Description
deployment_id [_required_]
string
The unique identifier of the deployment to cancel.
### Response
  * [204](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-204-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#CancelFleetDeployment-429-v2)


Deployment successfully canceled.
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Cancel a deployment
Copy
```
                  # Path parameters  
export deployment_id="abc-def-ghi"  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/deployments/${deployment_id}/cancel" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Cancel a deployment
```
"""
Cancel a deployment returns "Deployment successfully canceled." response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["cancel_fleet_deployment"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    api_instance.cancel_fleet_deployment(
        deployment_id="deployment_id",
    )

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Cancel a deployment
```
# Cancel a deployment returns "Deployment successfully canceled." response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.cancel_fleet_deployment".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
api_instance.cancel_fleet_deployment("deployment_id")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Cancel a deployment
```
// Cancel a deployment returns "Deployment successfully canceled." response

package main

import (
	"context"
	"fmt"
	"os"

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

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CancelFleetDeployment", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	r, err := api.CancelFleetDeployment(ctx, "deployment_id")

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Cancel a deployment
```
// Cancel a deployment returns "Deployment successfully canceled." response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.cancelFleetDeployment", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      apiInstance.cancelFleetDeployment("abc-def-ghi");
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#cancelFleetDeployment");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Cancel a deployment
```
// Cancel a deployment returns "Deployment successfully canceled." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CancelFleetDeployment", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api
        .cancel_fleet_deployment("deployment_id".to_string())
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Cancel a deployment
```
/**
 * Cancel a deployment returns "Deployment successfully canceled." response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.cancelFleetDeployment"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiCancelFleetDeploymentRequest = {
  deploymentId: "deployment_id",
};

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

```

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

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


```

* * *
## [List all schedules](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-schedules)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#list-all-schedules-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/scheduleshttps://api.ap2.datadoghq.com/api/unstable/fleet/scheduleshttps://api.datadoghq.eu/api/unstable/fleet/scheduleshttps://api.ddog-gov.com/api/unstable/fleet/scheduleshttps://api.datadoghq.com/api/unstable/fleet/scheduleshttps://api.us3.datadoghq.com/api/unstable/fleet/scheduleshttps://api.us5.datadoghq.com/api/unstable/fleet/schedules
### Overview
Retrieve a list of all schedules for automated fleet deployments.
Schedules allow you to automate package upgrades by defining maintenance windows and recurrence rules. Each schedule automatically creates deployments based on its configuration.
This endpoint requires the `hosts_read` permission.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetSchedules-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetSchedules-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetSchedules-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetSchedules-403-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#ListFleetSchedules-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a list of schedules.
Field
Type
Description
data [_required_]
[object]
Array of schedules.
attributes [_required_]
object
Attributes of a schedule in the response.
created_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was created.
created_by
string
User handle of the person who created the schedule.
name
string
Human-readable name for the schedule.
query
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


updated_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was last updated.
updated_by
string
User handle of the person who last updated the schedule.
version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


id [_required_]
string
Unique identifier for the schedule.
type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": [
    {
      "attributes": {
        "created_at_unix": 1699999999,
        "created_by": "user@example.com",
        "name": "Weekly Production Agent Updates",
        "query": "env:prod AND service:web",
        "rule": {
          "days_of_week": [
            "Mon",
            "Wed",
            "Fri"
          ],
          "maintenance_window_duration": 1200,
          "start_maintenance_window": "02:00",
          "timezone": "America/New_York"
        },
        "status": "active",
        "updated_at_unix": 1699999999,
        "updated_by": "user@example.com",
        "version_to_latest": 0
      },
      "id": "abc-def-ghi-123",
      "type": "schedule"
    }
  ]
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  List all schedules
Copy
```
                  # Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  List all schedules
```
"""
List all schedules returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["list_fleet_schedules"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.list_fleet_schedules()

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  List all schedules
```
# List all schedules returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.list_fleet_schedules".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.list_fleet_schedules()

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  List all schedules
```
// List all schedules 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.ListFleetSchedules", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.ListFleetSchedules(ctx)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  List all schedules
```
// List all schedules returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetSchedulesResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.listFleetSchedules", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetSchedulesResponse result = apiInstance.listFleetSchedules();
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#listFleetSchedules");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  List all schedules
```
// List all schedules returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.ListFleetSchedules", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.list_fleet_schedules().await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  List all schedules
```
/**
 * List all schedules returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.listFleetSchedules"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

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

```

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

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


```

* * *
## [Create a schedule](https://docs.datadoghq.com/api/latest/fleet-automation/#create-a-schedule)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#create-a-schedule-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
POST https://api.ap1.datadoghq.com/api/unstable/fleet/scheduleshttps://api.ap2.datadoghq.com/api/unstable/fleet/scheduleshttps://api.datadoghq.eu/api/unstable/fleet/scheduleshttps://api.ddog-gov.com/api/unstable/fleet/scheduleshttps://api.datadoghq.com/api/unstable/fleet/scheduleshttps://api.us3.datadoghq.com/api/unstable/fleet/scheduleshttps://api.us5.datadoghq.com/api/unstable/fleet/schedules
### Overview
Create a new schedule for automated package upgrades.
Schedules define when and how often to automatically deploy package upgrades to a fleet of hosts. Each schedule includes:
  * A filter query to select target hosts
  * A recurrence rule defining maintenance windows
  * A version strategy (e.g., always latest, or N versions behind latest)


When the schedule triggers during a maintenance window, it automatically creates a deployment that upgrades the Datadog Agent to the specified version on all matching hosts.
This endpoint requires the `agent_upgrade_write` permission.
### Request
#### Body Data (required)
Request payload containing the schedule details.
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Field
Type
Description
data [_required_]
object
Data for creating a new schedule.
attributes [_required_]
object
Attributes for creating a new schedule.
name [_required_]
string
Human-readable name for the schedule.
query [_required_]
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule [_required_]
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version (default)
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": {
    "attributes": {
      "name": "Weekly Production Agent Updates",
      "query": "env:prod AND service:web",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 1200,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "version_to_latest": 0
    },
    "type": "schedule"
  }
}
```

Copy
### Response
  * [201](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetSchedule-201-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetSchedule-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetSchedule-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetSchedule-403-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#CreateFleetSchedule-429-v2)


CREATED
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single schedule.
Field
Type
Description
data
object
A schedule that automatically creates deployments based on a recurrence rule.
attributes [_required_]
object
Attributes of a schedule in the response.
created_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was created.
created_by
string
User handle of the person who created the schedule.
name
string
Human-readable name for the schedule.
query
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


updated_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was last updated.
updated_by
string
User handle of the person who last updated the schedule.
version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


id [_required_]
string
Unique identifier for the schedule.
type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": {
    "attributes": {
      "created_at_unix": 1699999999,
      "created_by": "user@example.com",
      "name": "Weekly Production Agent Updates",
      "query": "env:prod AND service:web",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 1200,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "updated_at_unix": 1699999999,
      "updated_by": "user@example.com",
      "version_to_latest": 0
    },
    "id": "abc-def-ghi-123",
    "type": "schedule"
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Create a schedule
Copy
```
                  ## Conservative staging updates (N-1 version)
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "Staging Environment - Conservative Updates",
      "query": "env:staging",
      "rule": {
        "days_of_week": [
          "Fri"
        ],
        "maintenance_window_duration": 240,
        "start_maintenance_window": "22:00",
        "timezone": "UTC"
      },
      "status": "active",
      "version_to_latest": 1
    },
    "type": "schedule"
  }
}
EOF  
## Weekly production agent updates
# 
  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "name": "Weekly Production Agent Updates",
      "query": "env:prod",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed"
        ],
        "maintenance_window_duration": 180,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "version_to_latest": 0
    },
    "type": "schedule"
  }
}
EOF  

                
```

#####  Create a schedule
```
"""
Create a schedule returns "CREATED" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi
from datadog_api_client.v2.model.fleet_schedule_create import FleetScheduleCreate
from datadog_api_client.v2.model.fleet_schedule_create_attributes import FleetScheduleCreateAttributes
from datadog_api_client.v2.model.fleet_schedule_create_request import FleetScheduleCreateRequest
from datadog_api_client.v2.model.fleet_schedule_recurrence_rule import FleetScheduleRecurrenceRule
from datadog_api_client.v2.model.fleet_schedule_resource_type import FleetScheduleResourceType
from datadog_api_client.v2.model.fleet_schedule_status import FleetScheduleStatus

body = FleetScheduleCreateRequest(
    data=FleetScheduleCreate(
        attributes=FleetScheduleCreateAttributes(
            name="Weekly Production Agent Updates",
            query="env:prod AND service:web",
            rule=FleetScheduleRecurrenceRule(
                days_of_week=[
                    "Mon",
                    "Wed",
                    "Fri",
                ],
                maintenance_window_duration=1200,
                start_maintenance_window="02:00",
                timezone="America/New_York",
            ),
            status=FleetScheduleStatus.ACTIVE,
            version_to_latest=0,
        ),
        type=FleetScheduleResourceType.SCHEDULE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["create_fleet_schedule"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.create_fleet_schedule(body=body)

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Create a schedule
```
# Create a schedule returns "CREATED" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.create_fleet_schedule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new

body = DatadogAPIClient::V2::FleetScheduleCreateRequest.new({
  data: DatadogAPIClient::V2::FleetScheduleCreate.new({
    attributes: DatadogAPIClient::V2::FleetScheduleCreateAttributes.new({
      name: "Weekly Production Agent Updates",
      query: "env:prod AND service:web",
      rule: DatadogAPIClient::V2::FleetScheduleRecurrenceRule.new({
        days_of_week: [
          "Mon",
          "Wed",
          "Fri",
        ],
        maintenance_window_duration: 1200,
        start_maintenance_window: "02:00",
        timezone: "America/New_York",
      }),
      status: DatadogAPIClient::V2::FleetScheduleStatus::ACTIVE,
      version_to_latest: 0,
    }),
    type: DatadogAPIClient::V2::FleetScheduleResourceType::SCHEDULE,
  }),
})
p api_instance.create_fleet_schedule(body)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Create a schedule
```
// Create a schedule 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"
)

func main() {
	body := datadogV2.FleetScheduleCreateRequest{
		Data: datadogV2.FleetScheduleCreate{
			Attributes: datadogV2.FleetScheduleCreateAttributes{
				Name:  "Weekly Production Agent Updates",
				Query: "env:prod AND service:web",
				Rule: datadogV2.FleetScheduleRecurrenceRule{
					DaysOfWeek: []string{
						"Mon",
						"Wed",
						"Fri",
					},
					MaintenanceWindowDuration: 1200,
					StartMaintenanceWindow:    "02:00",
					Timezone:                  "America/New_York",
				},
				Status:          datadogV2.FLEETSCHEDULESTATUS_ACTIVE.Ptr(),
				VersionToLatest: datadog.PtrInt64(0),
			},
			Type: datadogV2.FLEETSCHEDULERESOURCETYPE_SCHEDULE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.CreateFleetSchedule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.CreateFleetSchedule(ctx, body)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Create a schedule
```
// Create a schedule returns "CREATED" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetScheduleCreate;
import com.datadog.api.client.v2.model.FleetScheduleCreateAttributes;
import com.datadog.api.client.v2.model.FleetScheduleCreateRequest;
import com.datadog.api.client.v2.model.FleetScheduleRecurrenceRule;
import com.datadog.api.client.v2.model.FleetScheduleResourceType;
import com.datadog.api.client.v2.model.FleetScheduleResponse;
import com.datadog.api.client.v2.model.FleetScheduleStatus;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.createFleetSchedule", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    FleetScheduleCreateRequest body =
        new FleetScheduleCreateRequest()
            .data(
                new FleetScheduleCreate()
                    .attributes(
                        new FleetScheduleCreateAttributes()
                            .name("Weekly Production Agent Updates")
                            .query("env:prod AND service:web")
                            .rule(
                                new FleetScheduleRecurrenceRule()
                                    .daysOfWeek(Arrays.asList("Mon", "Wed", "Fri"))
                                    .maintenanceWindowDuration(1200L)
                                    .startMaintenanceWindow("02:00")
                                    .timezone("America/New_York"))
                            .status(FleetScheduleStatus.ACTIVE)
                            .versionToLatest(0L))
                    .type(FleetScheduleResourceType.SCHEDULE));

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Create a schedule
```
// Create a schedule returns "CREATED" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::model::FleetScheduleCreate;
use datadog_api_client::datadogV2::model::FleetScheduleCreateAttributes;
use datadog_api_client::datadogV2::model::FleetScheduleCreateRequest;
use datadog_api_client::datadogV2::model::FleetScheduleRecurrenceRule;
use datadog_api_client::datadogV2::model::FleetScheduleResourceType;
use datadog_api_client::datadogV2::model::FleetScheduleStatus;

#[tokio::main]
async fn main() {
    let body = FleetScheduleCreateRequest::new(FleetScheduleCreate::new(
        FleetScheduleCreateAttributes::new(
            "Weekly Production Agent Updates".to_string(),
            "env:prod AND service:web".to_string(),
            FleetScheduleRecurrenceRule::new(
                vec!["Mon".to_string(), "Wed".to_string(), "Fri".to_string()],
                1200,
                "02:00".to_string(),
                "America/New_York".to_string(),
            ),
        )
        .status(FleetScheduleStatus::ACTIVE)
        .version_to_latest(0),
        FleetScheduleResourceType::SCHEDULE,
    ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.CreateFleetSchedule", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.create_fleet_schedule(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Create a schedule
```
/**
 * Create a schedule returns "CREATED" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.createFleetSchedule"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiCreateFleetScheduleRequest = {
  body: {
    data: {
      attributes: {
        name: "Weekly Production Agent Updates",
        query: "env:prod AND service:web",
        rule: {
          daysOfWeek: ["Mon", "Wed", "Fri"],
          maintenanceWindowDuration: 1200,
          startMaintenanceWindow: "02:00",
          timezone: "America/New_York",
        },
        status: "active",
        versionToLatest: 0,
      },
      type: "schedule",
    },
  },
};

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

```

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

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


```

* * *
## [Get a schedule by ID](https://docs.datadoghq.com/api/latest/fleet-automation/#get-a-schedule-by-id)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#get-a-schedule-by-id-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
GET https://api.ap1.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.ap2.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.eu/api/unstable/fleet/schedules/{id}https://api.ddog-gov.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us3.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us5.datadoghq.com/api/unstable/fleet/schedules/{id}
### Overview
Retrieve detailed information about a specific schedule using its unique identifier.
This endpoint returns comprehensive information about a schedule, including:
  * Schedule metadata (ID, name, creation/update timestamps)
  * Filter query for selecting target hosts
  * Recurrence rule defining when deployments are triggered
  * Version strategy for package upgrades
  * Current status (active or inactive)

This endpoint requires the `hosts_read` permission.
### Arguments
#### Path Parameters
Name
Type
Description
id [_required_]
string
The unique identifier of the schedule to retrieve.
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#GetFleetSchedule-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single schedule.
Field
Type
Description
data
object
A schedule that automatically creates deployments based on a recurrence rule.
attributes [_required_]
object
Attributes of a schedule in the response.
created_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was created.
created_by
string
User handle of the person who created the schedule.
name
string
Human-readable name for the schedule.
query
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


updated_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was last updated.
updated_by
string
User handle of the person who last updated the schedule.
version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


id [_required_]
string
Unique identifier for the schedule.
type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": {
    "attributes": {
      "created_at_unix": 1699999999,
      "created_by": "user@example.com",
      "name": "Weekly Production Agent Updates",
      "query": "env:prod AND service:web",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 1200,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "updated_at_unix": 1699999999,
      "updated_by": "user@example.com",
      "version_to_latest": 0
    },
    "id": "abc-def-ghi-123",
    "type": "schedule"
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Get a schedule by ID
Copy
```
                  # Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X GET "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Get a schedule by ID
```
"""
Get a schedule by ID returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["get_fleet_schedule"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.get_fleet_schedule(
        id="id",
    )

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Get a schedule by ID
```
# Get a schedule by ID returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.get_fleet_schedule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.get_fleet_schedule("id")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Get a schedule by ID
```
// Get a schedule by ID 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.GetFleetSchedule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.GetFleetSchedule(ctx, "id")

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Get a schedule by ID
```
// Get a schedule by ID returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetScheduleResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.getFleetSchedule", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetScheduleResponse result = apiInstance.getFleetSchedule("abc-def-ghi-123");
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#getFleetSchedule");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Get a schedule by ID
```
// Get a schedule by ID returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.GetFleetSchedule", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.get_fleet_schedule("id".to_string()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Get a schedule by ID
```
/**
 * Get a schedule by ID returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.getFleetSchedule"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiGetFleetScheduleRequest = {
  id: "id",
};

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

```

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

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


```

* * *
## [Update a schedule](https://docs.datadoghq.com/api/latest/fleet-automation/#update-a-schedule)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#update-a-schedule-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
PATCH https://api.ap1.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.ap2.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.eu/api/unstable/fleet/schedules/{id}https://api.ddog-gov.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us3.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us5.datadoghq.com/api/unstable/fleet/schedules/{id}
### Overview
Partially update a schedule by providing only the fields you want to change.
This endpoint allows you to modify specific attributes of a schedule without affecting other fields. Common use cases include:
  * Changing the schedule status between active and inactive
  * Updating the maintenance window times
  * Modifying the filter query to target different hosts
  * Adjusting the version strategy


Only include the fields you want to update in the request body. All fields are optional in a PATCH request.
This endpoint requires the `agent_upgrade_write` permission.
### Arguments
#### Path Parameters
Name
Type
Description
id [_required_]
string
The unique identifier of the schedule to update.
### Request
#### Body Data (required)
Request payload containing the fields to update.
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Field
Type
Description
data [_required_]
object
Data for partially updating a schedule.
attributes
object
Attributes for partially updating a schedule. All fields are optional.
name
string
Human-readable name for the schedule.
query
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": {
    "attributes": {
      "name": "Weekly Production Agent Updates",
      "query": "env:prod AND service:web",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 1200,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "version_to_latest": 0
    },
    "type": "schedule"
  }
}
```

Copy
### Response
  * [200](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-200-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#UpdateFleetSchedule-429-v2)


OK
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single schedule.
Field
Type
Description
data
object
A schedule that automatically creates deployments based on a recurrence rule.
attributes [_required_]
object
Attributes of a schedule in the response.
created_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was created.
created_by
string
User handle of the person who created the schedule.
name
string
Human-readable name for the schedule.
query
string
Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax.
rule
object
Defines the recurrence pattern for the schedule. Specifies when deployments should be automatically triggered based on maintenance windows.
days_of_week [_required_]
[string]
List of days of the week when the schedule should trigger. Valid values are: "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun".
maintenance_window_duration [_required_]
int64
Duration of the maintenance window in minutes.
start_maintenance_window [_required_]
string
Start time of the maintenance window in 24-hour clock format (HH:MM). Deployments will be triggered at this time on the specified days.
timezone [_required_]
string
Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC").
status
enum
The status of the schedule.
  * `active`: The schedule is active and will create deployments according to its recurrence rule.
  * `inactive`: The schedule is inactive and will not create any deployments. Allowed enum values: `active,inactive`


updated_at_unix
int64
Unix timestamp (seconds since epoch) when the schedule was last updated.
updated_by
string
User handle of the person who last updated the schedule.
version_to_latest
int64
Number of major versions behind the latest to target for upgrades.
  * 0: Always upgrade to the latest version
  * 1: Upgrade to latest minus 1 major version
  * 2: Upgrade to latest minus 2 major versions Maximum value is 2.


id [_required_]
string
Unique identifier for the schedule.
type [_required_]
enum
The type of schedule resource. Allowed enum values: `schedule`
default: `schedule`
```
{
  "data": {
    "attributes": {
      "created_at_unix": 1699999999,
      "created_by": "user@example.com",
      "name": "Weekly Production Agent Updates",
      "query": "env:prod AND service:web",
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 1200,
        "start_maintenance_window": "02:00",
        "timezone": "America/New_York"
      },
      "status": "active",
      "updated_at_unix": 1699999999,
      "updated_by": "user@example.com",
      "version_to_latest": 0
    },
    "id": "abc-def-ghi-123",
    "type": "schedule"
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Update a schedule
Copy
```
                  ## Change maintenance window time
# 
  
# Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "rule": {
        "days_of_week": [
          "Mon",
          "Wed",
          "Fri"
        ],
        "maintenance_window_duration": 240,
        "start_maintenance_window": "03:00",
        "timezone": "America/New_York"
      }
    },
    "type": "schedule"
  }
}
EOF  
## Pause a schedule
# 
  
# Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "status": "inactive"
    },
    "type": "schedule"
  }
}
EOF  
## Update target hosts query
# 
  
# Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X PATCH "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "query": "env:prod AND service:api"
    },
    "type": "schedule"
  }
}
EOF  

                
```

#####  Update a schedule
```
"""
Update a schedule returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi
from datadog_api_client.v2.model.fleet_schedule_patch import FleetSchedulePatch
from datadog_api_client.v2.model.fleet_schedule_patch_attributes import FleetSchedulePatchAttributes
from datadog_api_client.v2.model.fleet_schedule_patch_request import FleetSchedulePatchRequest
from datadog_api_client.v2.model.fleet_schedule_recurrence_rule import FleetScheduleRecurrenceRule
from datadog_api_client.v2.model.fleet_schedule_resource_type import FleetScheduleResourceType
from datadog_api_client.v2.model.fleet_schedule_status import FleetScheduleStatus

body = FleetSchedulePatchRequest(
    data=FleetSchedulePatch(
        attributes=FleetSchedulePatchAttributes(
            name="Weekly Production Agent Updates",
            query="env:prod AND service:web",
            rule=FleetScheduleRecurrenceRule(
                days_of_week=[
                    "Mon",
                    "Wed",
                    "Fri",
                ],
                maintenance_window_duration=1200,
                start_maintenance_window="02:00",
                timezone="America/New_York",
            ),
            status=FleetScheduleStatus.ACTIVE,
            version_to_latest=0,
        ),
        type=FleetScheduleResourceType.SCHEDULE,
    ),
)

configuration = Configuration()
configuration.unstable_operations["update_fleet_schedule"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.update_fleet_schedule(id="id", body=body)

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Update a schedule
```
# Update a schedule returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.update_fleet_schedule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new

body = DatadogAPIClient::V2::FleetSchedulePatchRequest.new({
  data: DatadogAPIClient::V2::FleetSchedulePatch.new({
    attributes: DatadogAPIClient::V2::FleetSchedulePatchAttributes.new({
      name: "Weekly Production Agent Updates",
      query: "env:prod AND service:web",
      rule: DatadogAPIClient::V2::FleetScheduleRecurrenceRule.new({
        days_of_week: [
          "Mon",
          "Wed",
          "Fri",
        ],
        maintenance_window_duration: 1200,
        start_maintenance_window: "02:00",
        timezone: "America/New_York",
      }),
      status: DatadogAPIClient::V2::FleetScheduleStatus::ACTIVE,
      version_to_latest: 0,
    }),
    type: DatadogAPIClient::V2::FleetScheduleResourceType::SCHEDULE,
  }),
})
p api_instance.update_fleet_schedule("id", body)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Update a schedule
```
// Update a schedule 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"
)

func main() {
	body := datadogV2.FleetSchedulePatchRequest{
		Data: datadogV2.FleetSchedulePatch{
			Attributes: &datadogV2.FleetSchedulePatchAttributes{
				Name:  datadog.PtrString("Weekly Production Agent Updates"),
				Query: datadog.PtrString("env:prod AND service:web"),
				Rule: &datadogV2.FleetScheduleRecurrenceRule{
					DaysOfWeek: []string{
						"Mon",
						"Wed",
						"Fri",
					},
					MaintenanceWindowDuration: 1200,
					StartMaintenanceWindow:    "02:00",
					Timezone:                  "America/New_York",
				},
				Status:          datadogV2.FLEETSCHEDULESTATUS_ACTIVE.Ptr(),
				VersionToLatest: datadog.PtrInt64(0),
			},
			Type: datadogV2.FLEETSCHEDULERESOURCETYPE_SCHEDULE,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.UpdateFleetSchedule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.UpdateFleetSchedule(ctx, "id", body)

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Update a schedule
```
// Update a schedule returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetSchedulePatch;
import com.datadog.api.client.v2.model.FleetSchedulePatchAttributes;
import com.datadog.api.client.v2.model.FleetSchedulePatchRequest;
import com.datadog.api.client.v2.model.FleetScheduleRecurrenceRule;
import com.datadog.api.client.v2.model.FleetScheduleResourceType;
import com.datadog.api.client.v2.model.FleetScheduleResponse;
import com.datadog.api.client.v2.model.FleetScheduleStatus;
import java.util.Arrays;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.updateFleetSchedule", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    FleetSchedulePatchRequest body =
        new FleetSchedulePatchRequest()
            .data(
                new FleetSchedulePatch()
                    .attributes(
                        new FleetSchedulePatchAttributes()
                            .name("Weekly Production Agent Updates")
                            .query("env:prod AND service:web")
                            .rule(
                                new FleetScheduleRecurrenceRule()
                                    .daysOfWeek(Arrays.asList("Mon", "Wed", "Fri"))
                                    .maintenanceWindowDuration(1200L)
                                    .startMaintenanceWindow("02:00")
                                    .timezone("America/New_York"))
                            .status(FleetScheduleStatus.ACTIVE)
                            .versionToLatest(0L))
                    .type(FleetScheduleResourceType.SCHEDULE));

    try {
      FleetScheduleResponse result = apiInstance.updateFleetSchedule("abc-def-ghi-123", body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#updateFleetSchedule");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Update a schedule
```
// Update a schedule returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;
use datadog_api_client::datadogV2::model::FleetSchedulePatch;
use datadog_api_client::datadogV2::model::FleetSchedulePatchAttributes;
use datadog_api_client::datadogV2::model::FleetSchedulePatchRequest;
use datadog_api_client::datadogV2::model::FleetScheduleRecurrenceRule;
use datadog_api_client::datadogV2::model::FleetScheduleResourceType;
use datadog_api_client::datadogV2::model::FleetScheduleStatus;

#[tokio::main]
async fn main() {
    let body = FleetSchedulePatchRequest::new(
        FleetSchedulePatch::new(FleetScheduleResourceType::SCHEDULE).attributes(
            FleetSchedulePatchAttributes::new()
                .name("Weekly Production Agent Updates".to_string())
                .query("env:prod AND service:web".to_string())
                .rule(FleetScheduleRecurrenceRule::new(
                    vec!["Mon".to_string(), "Wed".to_string(), "Fri".to_string()],
                    1200,
                    "02:00".to_string(),
                    "America/New_York".to_string(),
                ))
                .status(FleetScheduleStatus::ACTIVE)
                .version_to_latest(0),
        ),
    );
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.UpdateFleetSchedule", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.update_fleet_schedule("id".to_string(), body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Update a schedule
```
/**
 * Update a schedule returns "OK" response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.updateFleetSchedule"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiUpdateFleetScheduleRequest = {
  body: {
    data: {
      attributes: {
        name: "Weekly Production Agent Updates",
        query: "env:prod AND service:web",
        rule: {
          daysOfWeek: ["Mon", "Wed", "Fri"],
          maintenanceWindowDuration: 1200,
          startMaintenanceWindow: "02:00",
          timezone: "America/New_York",
        },
        status: "active",
        versionToLatest: 0,
      },
      type: "schedule",
    },
  },
  id: "id",
};

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

```

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

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


```

* * *
## [Delete a schedule](https://docs.datadoghq.com/api/latest/fleet-automation/#delete-a-schedule)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#delete-a-schedule-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
DELETE https://api.ap1.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.ap2.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.eu/api/unstable/fleet/schedules/{id}https://api.ddog-gov.com/api/unstable/fleet/schedules/{id}https://api.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us3.datadoghq.com/api/unstable/fleet/schedules/{id}https://api.us5.datadoghq.com/api/unstable/fleet/schedules/{id}
### Overview
Delete a schedule permanently.
When you delete a schedule:
  * The schedule is permanently removed and will no longer create deployments
  * Any deployments already created by this schedule are not affected
  * This action cannot be undone


If you want to temporarily stop a schedule from creating deployments, consider updating its status to “inactive” instead of deleting it.
This endpoint requires the `agent_upgrade_write` permission.
### Arguments
#### Path Parameters
Name
Type
Description
id [_required_]
string
The unique identifier of the schedule to delete.
### Response
  * [204](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-204-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#DeleteFleetSchedule-429-v2)


Schedule successfully deleted.
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Delete a schedule
Copy
```
                  # Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X DELETE "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Delete a schedule
```
"""
Delete a schedule returns "Schedule successfully deleted." response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["delete_fleet_schedule"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    api_instance.delete_fleet_schedule(
        id="id",
    )

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Delete a schedule
```
# Delete a schedule returns "Schedule successfully deleted." response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.delete_fleet_schedule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
api_instance.delete_fleet_schedule("id")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Delete a schedule
```
// Delete a schedule returns "Schedule successfully deleted." response

package main

import (
	"context"
	"fmt"
	"os"

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

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.DeleteFleetSchedule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	r, err := api.DeleteFleetSchedule(ctx, "id")

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Delete a schedule
```
// Delete a schedule returns "Schedule successfully deleted." response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.deleteFleetSchedule", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      apiInstance.deleteFleetSchedule("abc-def-ghi-123");
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#deleteFleetSchedule");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Delete a schedule
```
// Delete a schedule returns "Schedule successfully deleted." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.DeleteFleetSchedule", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.delete_fleet_schedule("id".to_string()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Delete a schedule
```
/**
 * Delete a schedule returns "Schedule successfully deleted." response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.deleteFleetSchedule"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiDeleteFleetScheduleRequest = {
  id: "id",
};

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

```

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

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


```

* * *
## [Trigger a schedule deployment](https://docs.datadoghq.com/api/latest/fleet-automation/#trigger-a-schedule-deployment)
  * [v2 (latest)](https://docs.datadoghq.com/api/latest/fleet-automation/#trigger-a-schedule-deployment-v2)


This endpoint is in Preview and may introduce breaking changes. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
POST https://api.ap1.datadoghq.com/api/unstable/fleet/schedules/{id}/triggerhttps://api.ap2.datadoghq.com/api/unstable/fleet/schedules/{id}/triggerhttps://api.datadoghq.eu/api/unstable/fleet/schedules/{id}/triggerhttps://api.ddog-gov.com/api/unstable/fleet/schedules/{id}/triggerhttps://api.datadoghq.com/api/unstable/fleet/schedules/{id}/triggerhttps://api.us3.datadoghq.com/api/unstable/fleet/schedules/{id}/triggerhttps://api.us5.datadoghq.com/api/unstable/fleet/schedules/{id}/trigger
### Overview
Manually trigger a schedule to immediately create and start a deployment.
This endpoint allows you to manually initiate a deployment using the schedule’s configuration, without waiting for the next scheduled maintenance window. This is useful for:
  * Testing a schedule before it runs automatically
  * Performing an emergency update outside the regular maintenance window
  * Creating an ad-hoc deployment with the same settings as a schedule


The deployment is created immediately with:
  * The same filter query as the schedule
  * The package version determined by the schedule’s version strategy
  * All matching hosts as targets


The manually triggered deployment is independent of the schedule and does not affect the schedule’s normal recurrence pattern.
This endpoint requires the `agent_upgrade_write` permission.
### Arguments
#### Path Parameters
Name
Type
Description
id [_required_]
string
The unique identifier of the schedule to trigger.
### Response
  * [201](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-201-v2)
  * [400](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-400-v2)
  * [401](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-401-v2)
  * [403](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-403-v2)
  * [404](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-404-v2)
  * [429](https://docs.datadoghq.com/api/latest/fleet-automation/#TriggerFleetSchedule-429-v2)


CREATED - Deployment successfully created and started.
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


Response containing a single deployment.
Field
Type
Description
data
object
A deployment that defines automated configuration changes for a fleet of hosts.
attributes [_required_]
object
Attributes of a deployment in the response.
config_operations
[object]
Ordered list of configuration file operations to perform on the target hosts.
file_op [_required_]
enum
Type of file operation to perform on the target configuration file.
  * `merge-patch`: Merges the provided patch data with the existing configuration file. Creates the file if it doesn't exist.
  * `delete`: Removes the specified configuration file from the target hosts. Allowed enum values: `merge-patch,delete`


file_path [_required_]
string
Absolute path to the target configuration file on the host.
patch
object
Patch data in JSON format to apply to the configuration file. When using `merge-patch`, this object is merged with the existing configuration, allowing you to add, update, or override specific fields without replacing the entire file. The structure must match the target configuration file format (for example, YAML structure for Datadog Agent config). Not applicable when using the `delete` operation.
estimated_end_time_unix
int64
Estimated completion time of the deployment as a Unix timestamp (seconds since epoch).
filter_query
string
Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax.
high_level_status
string
Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
hosts
[object]
Paginated list of hosts in this deployment with their individual statuses. Only included when fetching a single deployment by ID. Use the `limit` and `page` query parameters to navigate through pages. Pagination metadata is included in the response `meta.hosts` field.
error
string
Error message if the deployment failed on this host.
hostname
string
The hostname of the agent.
status
string
Current deployment status for this specific host.
versions
[object]
List of packages and their versions currently installed on this host.
current_version
string
The current version of the package on the host.
initial_version
string
The initial version of the package on the host before the deployment started.
package_name
string
The name of the package.
target_version
string
The target version that the deployment is attempting to install.
packages
[object]
List of packages to deploy to target hosts. Present only for package upgrade deployments.
name [_required_]
string
The name of the package to deploy.
version [_required_]
string
The target version of the package to deploy.
total_hosts
int64
Total number of hosts targeted by this deployment.
id [_required_]
string
Unique identifier for the deployment.
type [_required_]
enum
The type of deployment resource. Allowed enum values: `deployment`
default: `deployment`
meta
object
Metadata for a single deployment response, including pagination information for hosts.
hosts
object
Pagination details for the list of hosts in a deployment.
current_page
int64
Current page index (zero-based).
page_size
int64
Number of hosts returned per page.
total_hosts
int64
Total number of hosts in this deployment.
total_pages
int64
Total number of pages available.
```
{
  "data": {
    "attributes": {
      "config_operations": [
        {
          "file_op": "merge-patch",
          "file_path": "/datadog.yaml",
          "patch": {
            "apm_config": {
              "enabled": true
            },
            "log_level": "debug",
            "logs_enabled": true
          }
        }
      ],
      "estimated_end_time_unix": 1699999999,
      "filter_query": "env:prod AND service:web",
      "high_level_status": "pending",
      "hosts": [
        {
          "error": "",
          "hostname": "web-server-01.example.com",
          "status": "succeeded",
          "versions": [
            {
              "current_version": "7.51.0",
              "initial_version": "7.51.0",
              "package_name": "datadog-agent",
              "target_version": "7.52.0"
            }
          ]
        }
      ],
      "packages": [
        {
          "name": "datadog-agent",
          "version": "7.52.0"
        }
      ],
      "total_hosts": 42
    },
    "id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
    "type": "deployment"
  },
  "meta": {
    "hosts": {
      "current_page": 0,
      "page_size": 50,
      "total_hosts": 150,
      "total_pages": 3
    }
  }
}
```

Copy
Bad Request
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Unauthorized
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Forbidden
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Not Found
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
Too many requests
  * [Model](https://docs.datadoghq.com/api/latest/fleet-automation/)
  * [Example](https://docs.datadoghq.com/api/latest/fleet-automation/)


API error response.
Expand All
Field
Type
Description
errors [_required_]
[string]
A list of errors.
```
{
  "errors": [
    "Bad Request"
  ]
}
```

Copy
### Code Example
  * [Curl](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=curl)
  * [Python](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=python)
  * [Ruby](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=ruby)
  * [Go](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=go)
  * [Java](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=java)
  * [Rust](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=rust)
  * [Typescript](https://docs.datadoghq.com/api/latest/fleet-automation/?code-lang=typescript)


#####  Trigger a schedule deployment
Copy
```
                  # Path parameters  
export id="abc-def-ghi-123"  
# Curl command  
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/unstable/fleet/schedules/${id}/trigger" \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}"  

                
```

#####  Trigger a schedule deployment
```
"""
Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.fleet_automation_api import FleetAutomationApi

configuration = Configuration()
configuration.unstable_operations["trigger_fleet_schedule"] = True
with ApiClient(configuration) as api_client:
    api_instance = FleetAutomationApi(api_client)
    response = api_instance.trigger_fleet_schedule(
        id="id",
    )

    print(response)

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"


```

#####  Trigger a schedule deployment
```
# Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.trigger_fleet_schedule".to_sym] = true
end
api_instance = DatadogAPIClient::V2::FleetAutomationAPI.new
p api_instance.trigger_fleet_schedule("id")

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"


```

#####  Trigger a schedule deployment
```
// Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." 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"
)

func main() {
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.TriggerFleetSchedule", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewFleetAutomationApi(apiClient)
	resp, r, err := api.TriggerFleetSchedule(ctx, "id")

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

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

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"


```

#####  Trigger a schedule deployment
```
// Trigger a schedule deployment returns "CREATED - Deployment successfully created and started."
// response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.FleetAutomationApi;
import com.datadog.api.client.v2.model.FleetDeploymentResponse;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.triggerFleetSchedule", true);
    FleetAutomationApi apiInstance = new FleetAutomationApi(defaultClient);

    try {
      FleetDeploymentResponse result = apiInstance.triggerFleetSchedule("abc-def-ghi-123");
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling FleetAutomationApi#triggerFleetSchedule");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"


```

#####  Trigger a schedule deployment
```
// Trigger a schedule deployment returns "CREATED - Deployment successfully
// created and started." response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_fleet_automation::FleetAutomationAPI;

#[tokio::main]
async fn main() {
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.TriggerFleetSchedule", true);
    let api = FleetAutomationAPI::with_config(configuration);
    let resp = api.trigger_fleet_schedule("id".to_string()).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

```

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

DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run


```

#####  Trigger a schedule deployment
```
/**
 * Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response
 */

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

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.triggerFleetSchedule"] = true;
const apiInstance = new v2.FleetAutomationApi(configuration);

const params: v2.FleetAutomationApiTriggerFleetScheduleRequest = {
  id: "id",
};

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

```

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

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


```

* * *
![](https://t.co/1/i/adsct?bci=4&dv=UTC%26en-US%26Google%20Inc.%26Linux%20x86_64%26255%261080%26600%264%2624%261080%26600%260%26na&eci=3&event=%7B%7D&event_id=8f1e5205-ccd2-4194-a659-99f3e5184cc3&integration=gtm&p_id=Twitter&p_user_id=0&pl_id=e7a50935-9bc0-46ae-9eab-4902afa4dd25&pt=Fleet%20Automation&tw_document_href=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&tw_iframe_status=0&txn_id=nui23&type=javascript&version=2.3.35)![](https://analytics.twitter.com/1/i/adsct?bci=4&dv=UTC%26en-US%26Google%20Inc.%26Linux%20x86_64%26255%261080%26600%264%2624%261080%26600%260%26na&eci=3&event=%7B%7D&event_id=8f1e5205-ccd2-4194-a659-99f3e5184cc3&integration=gtm&p_id=Twitter&p_user_id=0&pl_id=e7a50935-9bc0-46ae-9eab-4902afa4dd25&pt=Fleet%20Automation&tw_document_href=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&tw_iframe_status=0&txn_id=nui23&type=javascript&version=2.3.35)![](https://id.rlcdn.com/464526.gif)
![](https://bat.bing.com/action/0?ti=4061438&Ver=2&mid=6647292c-3833-48db-a3a8-af367a1ed904&bo=2&sid=b28d9090f0bf11f0b30273253c7db78b&vid=b28de6c0f0bf11f0933f9f2238d9b757&vids=1&msclkid=N&pi=918639831&lg=en-US&sw=1080&sh=600&sc=24&tl=Fleet%20Automation&p=https%3A%2F%2Fdocs.datadoghq.com%2Fapi%2Flatest%2Ffleet-automation%2F&r=&lt=3576&evt=pageLoad&sv=2&asc=G&cdb=AQAS&rn=478081)