---
title: "Get a deployment by ID"
method: GET
path: "/api/v2/fleet/deployments/{deployment_id}"
tags: ["Fleet Automation"]
---

# Get a deployment by ID

`GET /api/v2/fleet/deployments/{deployment_id}`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/fleet/deployments/{deployment_id}`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token`
- TypeScript: <https://skmtc.dev/datadog/apis/datadog-api-v2-collection/docs/api/v2/fleet/deployments/:deployment_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve detailed information about a specific deployment, including its current status,
configuration operations, and per-host execution status.

Returns a 404 if no deployment matches the given ID or if you do not have access to it.

## Path parameters

- `deployment_id` string, required

## Response `200`

OK

- FleetDeploymentV2DetailResponse: Response containing detailed information about a single deployment.
  - `data` FleetDeploymentV2Detail, required: Detailed information about a deployment.
    - `attributes` FleetDeploymentV2DetailAttributes, required: Attributes of a deployment detail response.
      - `author` string: Handle of the user who triggered the deployment.
      - `canceled_hosts` integer: Number of hosts on which the deployment was canceled.
      - `config_operations` FleetDeploymentOperation[]: Ordered list of configuration file operations applied by this deployment. Absent for package deployments, which have no configuration file operations.
        - `file_op` 'merge-patch' | 'delete', required: 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.
        - `file_path` string, required: 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.
      - `duration_seconds` integer: Duration of the deployment in seconds, computed as `finished_at - started_at`. Zero if the deployment has not finished.
      - `error_summary` string: Top-level error message for the deployment. Populated only when the deployment has failed.
      - `estimated_finished_at` integer: Estimated completion time of the deployment as a Unix timestamp. Zero if not available.
      - `failed_hosts` integer: Number of hosts on which the deployment failed.
      - `high_level_status` string: Current high-level status of the deployment (for example, "pending", "running", "completed", "failed").
      - `hosts` FleetDeploymentV2DetailAgent[]: Per-host status list for this deployment.
        - `error` string: Error message if the deployment failed on this host.
        - `hostname` string: Hostname of the agent.
        - `running_step` string: Name of the step currently executing on this host.
        - `status` string: Deployment status for this host (for example, "pending", "running", "succeeded", "failed").
        - `status_details` string: Additional details about the current deployment status on this host.
        - `versions` FleetDeploymentHostPackage[]: Package version details for 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.
      - `is_scheduled` boolean: Whether this deployment was triggered by a schedule (`schedule_id` is non-empty).
      - `query` string: Query used to filter and select target hosts for the deployment.
      - `running_hosts` integer: Number of hosts on which the deployment is currently running.
      - `schedule_id` string: Identifier of the schedule that triggered this deployment. Empty if triggered manually.
      - `skipped_hosts` integer: Number of hosts that were skipped during the deployment.
      - `succeeded_hosts` integer: Number of hosts on which the deployment succeeded.
      - `target_versions` string[]: Distinct package versions targeted by this deployment, in first-seen order.
      - `total_hosts` integer: Total number of hosts targeted by this deployment.
      - `update_type` string: Type of update operation performed by this deployment (for example, "update_config_operations", "update_package").
    - `id` string, required: Unique identifier for the deployment.
    - `type` 'deployment', required: The type of deployment resource.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/3f70db624329?raw)
