---
title: "Update an agent policy"
method: PUT
path: "/api/fleet/agent_policies/{agentPolicyId}"
tags: ["Elastic Agent policies"]
---

# Update an agent policy

`PUT /api/fleet/agent_policies/{agentPolicyId}`

**Spaces method and path for this operation:**

<div><span class="operation-verb put">put</span>&nbsp;<span class="operation-path">/s/{space_id}/api/fleet/agent_policies/{agentPolicyId}</span></div>

Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.

Update an agent policy by ID.<br/><br/>[Required authorization] Route required privileges: fleet-agent-policies-all.

## Path parameters

- `agentPolicyId` string, required

## Query parameters

- `format` 'simplified' | 'legacy'

## Headers

- `kbn-xsrf` string, required

## Request body

- KibanaHTTPAPIsUpdateAgentPolicyRequestBody
  - `advanced_settings` object
    - `agent_download_target_directory` unknown
    - `agent_download_timeout` unknown
    - `agent_features_disable_policy_change_acks_enabled` unknown
    - `agent_features_include_tags_in_events_enabled` unknown
    - `agent_internal` unknown
    - `agent_limits_go_max_procs` unknown
    - `agent_logging_files_interval` unknown
    - `agent_logging_files_keepfiles` unknown
    - `agent_logging_files_rotateeverybytes` unknown
    - `agent_logging_level` unknown
    - `agent_logging_metrics_period` unknown
    - `agent_logging_to_files` unknown
    - `agent_monitoring_runtime_experimental` unknown
  - `agent_features` object[]
    - `enabled` boolean, required
    - `name` string, required
  - `agentless` object
    - `cloud_connectors` object
      - `enabled` boolean, required
      - `target_csp` 'aws' | 'azure' | 'gcp'
    - `cluster_id` string
    - `resources` object
      - `requests` object
        - `cpu` string
        - `memory` string
  - `bumpRevision` boolean
  - `data_output_id` string, nullable
  - `description` string
  - `download_source_id` string, nullable
  - `fleet_server_host_id` string, nullable
  - `force` boolean
  - `global_data_tags` object[] — User defined data tags that are added to all of the inputs. The values can be strings or numbers.
    - `name` string, required
    - `value` union, required
      - string
      - number
  - `has_agent_version_conditions` boolean
  - `has_fleet_server` boolean
  - `id` string
  - `inactivity_timeout` number
  - `is_default` boolean
  - `is_default_fleet_server` boolean
  - `is_managed` boolean
  - `is_protected` boolean
  - `is_verifier` boolean
  - `keep_monitoring_alive` boolean, nullable — When set to true, monitoring will be enabled but logs/metrics collection will be disabled
  - `min_agent_version` string, nullable
  - `monitoring_diagnostics` object
    - `limit` object
      - `burst` number
      - `interval` string
    - `uploader` object
      - `init_dur` string
      - `max_dur` string
      - `max_retries` number
  - `monitoring_enabled` string[]
  - `monitoring_http` object
    - `buffer` object
      - `enabled` boolean
    - `enabled` boolean
    - `host` string
    - `port` number
  - `monitoring_output_id` string, nullable
  - `monitoring_pprof_enabled` boolean
  - `name` string, required
  - `namespace` string, required
  - `overrides` object, nullable — Override settings that are defined in the agent policy. Input settings cannot be overridden. The override option should be used only in unusual circumstances and not as a routine procedure.
  - `package_agent_version_conditions` object[], nullable
    - `name` string, required
    - `title` string, required
    - `version_condition` string, required
  - `required_versions` object[], nullable
    - `percentage` number, required — Target percentage of agents to auto upgrade
    - `version` string, required — Target version for automatic agent upgrade
  - `space_ids` string[]
  - `supports_agentless` boolean, nullable — Indicates whether the agent policy supports agentless integrations. Deprecated in favor of the Fleet managed integrations API.
  - `unenroll_timeout` number

## Response `200`

Successful response

- KibanaHTTPAPIsGetAgentPolicyResponse
  - `item` KibanaHTTPAPIsAgentPolicyResponse, required
    - `advanced_settings` object
      - `agent_download_target_directory` unknown
      - `agent_download_timeout` unknown
      - `agent_features_disable_policy_change_acks_enabled` unknown
      - `agent_features_include_tags_in_events_enabled` unknown
      - `agent_internal` unknown
      - `agent_limits_go_max_procs` unknown
      - `agent_logging_files_interval` unknown
      - `agent_logging_files_keepfiles` unknown
      - `agent_logging_files_rotateeverybytes` unknown
      - `agent_logging_level` unknown
      - `agent_logging_metrics_period` unknown
      - `agent_logging_to_files` unknown
      - `agent_monitoring_runtime_experimental` unknown
    - `agent_features` object[]
      - `enabled` boolean, required
      - `name` string, required
    - `agentless` object
      - `cloud_connectors` object
        - `enabled` boolean, required
        - `target_csp` 'aws' | 'azure' | 'gcp'
      - `cluster_id` string
      - `resources` object
        - `requests` object
          - `cpu` string
          - `memory` string
    - `agents` number
    - `agents_per_version` object[]
      - `count` number, required
      - `version` string, required
    - `created_at` string
    - `data_output_id` string, nullable
    - `description` string
    - `download_source_id` string, nullable
    - `fips_agents` number
    - `fleet_server_host_id` string, nullable
    - `global_data_tags` object[] — User defined data tags that are added to all of the inputs. The values can be strings or numbers.
      - `name` string, required
      - `value` union, required
        - string
        - number
    - `has_agent_version_conditions` boolean
    - `has_fleet_server` boolean
    - `id` string, required
    - `inactivity_timeout` number
    - `is_default` boolean
    - `is_default_fleet_server` boolean
    - `is_managed` boolean
    - `is_preconfigured` boolean
    - `is_protected` boolean, required — Indicates whether the agent policy has tamper protection enabled. Defaults to `false`.
    - `is_verifier` boolean
    - `keep_monitoring_alive` boolean, nullable — When set to true, monitoring will be enabled but logs/metrics collection will be disabled
    - `min_agent_version` string, nullable
    - `monitoring_diagnostics` object
      - `limit` object
        - `burst` number
        - `interval` string
      - `uploader` object
        - `init_dur` string
        - `max_dur` string
        - `max_retries` number
    - `monitoring_enabled` string[]
    - `monitoring_http` object
      - `buffer` object
        - `enabled` boolean
      - `enabled` boolean
      - `host` string
      - `port` number
    - `monitoring_output_id` string, nullable
    - `monitoring_pprof_enabled` boolean
    - `name` string, required
    - `namespace` string, required
    - `overrides` object, nullable — Override settings that are defined in the agent policy. Input settings cannot be overridden. The override option should be used only in unusual circumstances and not as a routine procedure.
    - `package_agent_version_conditions` object[], nullable
      - `name` string, required
      - `title` string, required
      - `version_condition` string, required
    - `package_policies` union
      - string[]
      - KibanaHTTPAPIsPackagePolicyResponse[] — This field is present only when retrieving a single agent policy, or when retrieving a list of agent policies with the `?full=true` parameter
        - `additional_datastreams_permissions` string[], nullable — Additional data stream permissions that will be added to the agent policy.
        - `agents` number
        - `cloud_connector_id` string, nullable — ID of the cloud connector associated with this package policy.
        - `cloud_connector_name` string, nullable — Transient field for cloud connector name during creation.
        - `condition` string, nullable — Agent condition expression to evaluate whether to apply this integration to its inputs.
        - `created_at` string, required
        - `created_by` string, required
        - `description` string — Package policy description
        - `elasticsearch` object
          - `privileges` object
            - `cluster` string[]
        - `enabled` boolean, required
        - `global_data_tags` object[], nullable
          - `name` string, required — The name of the custom field. Cannot contain spaces.
          - `value` union, required — The value of the custom field.
            - string
            - number
        - `id` string, required — Package policy unique identifier.
        - `inputs` union, required — Package policy inputs.
          - object[]
            - `compiled_input` unknown, required
            - `condition` string, nullable — Agent condition expression to evaluate whether to apply this input.
            - `config` object — Package variable (see integration documentation for more information)
            - `deprecated` KibanaHTTPAPIsPackagePolicyInputDeprecationInfo
              - …
            - `enabled` boolean, required
            - `id` string
            - `keep_enabled` boolean
            - `migrate_from` string
            - `name` string
            - `policy_template` string
            - `streams` object[], required
              - …
            - `type` string, required
            - `var_group_selections` object — Variable group selections. Maps var_group name to the selected option name within that group.
            - `vars` object — Package variable (see integration documentation for more information)
          - object — Package policy inputs. Refer to the integration documentation to know which inputs are available.
        - `is_managed` boolean
        - `name` string, required — Unique name for the package policy.
        - `namespace` string — The package policy namespace. Leave blank to inherit the agent policy's namespace.
        - `output_id` string, nullable
        - `overrides` object, nullable — Override settings that are defined in the package policy. The override option should be used only in unusual circumstances and not as a routine procedure.
          - `inputs` object
        - `package` KibanaHTTPAPIsPackagePolicyPackage
          - `experimental_data_stream_features` object[]
            - `data_stream` string, required
            - `features` object, required
              - …
          - `fips_compatible` boolean
          - `name` string, required — Package name
          - `requires_root` boolean
          - `title` string
          - `version` string, required — Package version
        - `package_agent_version_condition` string
        - `policy_id` string, nullable — ID of the agent policy which the package policy will be added to.
        - `policy_ids` string[]
        - `revision` number, required — Package policy revision.
        - `secret_references` object[]
          - `id` string, required
        - `spaceIds` string[]
        - `supports_agentless` boolean, nullable — Indicates whether the package policy belongs to an agentless agent policy.
        - `supports_cloud_connector` boolean, nullable — Indicates whether the package policy supports cloud connectors.
        - `updated_at` string, required
        - `updated_by` string, required
        - `var_group_selections` object — Variable group selections. Maps var_group name to the selected option name within that group.
        - `vars` union — Package level variable.
          - object — Package variable (see integration documentation for more information)
          - object — Input/stream level variable. Refer to the integration documentation for more information.
        - `version` string — Package policy ES version.
    - `required_versions` object[], nullable
      - `percentage` number, required — Target percentage of agents to auto upgrade
      - `version` string, required — Target version for automatic agent upgrade
    - `revision` number, required
    - `schema_version` string
    - `space_ids` string[]
    - `status` 'active' | 'inactive', required
    - `supports_agentless` boolean, nullable — Indicates whether the agent policy supports agentless integrations.
    - `unenroll_timeout` number
    - `unprivileged_agents` number
    - `updated_at` string, required
    - `updated_by` string, required
    - `version` string

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/elastic/apis/kibana-apis.md) · [All operations](https://skmtc.net/elastic/apis/kibana-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elastic/kibana-apis/versions/531c9e2a7d23/schema)
