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.
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}}}
"""
Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response
"""fromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.fleet_automation_apiimportFleetAutomationApiconfiguration=Configuration()configuration.unstable_operations["trigger_fleet_schedule"]=TruewithApiClient(configuration)asapi_client:api_instance=FleetAutomationApi(api_client)response=api_instance.trigger_fleet_schedule(id="id",)print(response)
# Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." responserequire"datadog_api_client"DatadogAPIClient.configuredo|config|config.unstable_operations["v2.trigger_fleet_schedule".to_sym]=trueendapi_instance=DatadogAPIClient::V2::FleetAutomationAPI.newpapi_instance.trigger_fleet_schedule("id")
// Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." responsepackagemainimport("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")funcmain(){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")iferr!=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)}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Trigger a schedule deployment returns "CREATED - Deployment successfully created and started." response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();configuration.unstableOperations["v2.triggerFleetSchedule"]=true;constapiInstance=newv2.FleetAutomationApi(configuration);constparams: 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));