---
title: "Update an existing Agent Policy"
method: PUT
path: "/policies/agent/{id}"
tags: ["policy"]
---

# Update an existing Agent Policy

`PUT /policies/agent/{id}`

## Request body

- union
  - PolicyUpdateReqSchemaJson
    - `name` string — A unique name label
    - `description` string — User description of this Policy
    - `tags` object — User defined key/values for organization and searching
    - `policy` object — Agent backend specific policy data in json format
      - `kind` string
      - `input` object
        - `tap` string
        - `input_type` string
        - `config` object
          - `host_spec` string
        - `filter` object
          - `bpf` string
      - `handlers` object
        - `modules` object
          - `handlers_label` object
            - `type` string
  - PolicyUpdateReqSchemaYaml
    - `name` string — A unique name label
    - `description` string — User description of this Policy
    - `tags` object — User defined key/values for organization and searching
    - `policy_data` string — Agent backend specific policy data in yaml format
    - `format` string — Policy text format needed to specify when a policy is a yaml

## Response `201`

Policy object

- PolicyObjSchema
  - `id` string, uuid, required — Unique identifier (UUID)
  - `name` string — A unique name label
  - `description` string — User description of this Policy
  - `tags` object — User defined key/values for organization and searching
  - `backend` string — The policy backend to use. Cannot change once created.
  - `ts_created` string, date-time — Timestamp of creation
  - `version` integer — A monotonically increasing counter starting at 0 on creation and increasing with each policy update.
  - `policy` object — Agent backend specific policy data in json format
  - `format` string — Policy text format needed to specify when a policy was created in yaml format.
  - `policy_data` string — Agent backend specific policy data in yaml format

## Other responses

- `400` — Failed due to malformed JSON.
- `401` — Missing or invalid access token provided.
- `422` — Databse can't process request.
- `500` — Unexpected server-side error occurred.

## Changes

- **2026-07-17** `d95ee7691efb` — 2 breaking, 1 warning
  - added the new required `header` request parameter `Authorization` to all path's operations
  - added the new required `header` request parameter `Authorization`
  - deleted the `header` request parameter `Bearer authorization`
- **2022-10-04** `ce59b3bdec00` — 2 breaking, 1 warning
  - added the new required `header` request parameter `Bearer authorization` to all path's operations
  - added the new required `header` request parameter `Bearer authorization`
  - deleted the `header` request parameter `Authorization`
- **2022-03-28** `5d3c055b50ec` — 5 info
  - added the new optional request property `oneOf[#/components/schemas/PolicyUpdateReqSchemaJson]/policy/handlers`
  - added the new optional request property `oneOf[#/components/schemas/PolicyUpdateReqSchemaJson]/policy/input`
  - added the new optional request property `oneOf[#/components/schemas/PolicyUpdateReqSchemaJson]/policy/kind`
  - added the optional property `format` to the response with the `201` status
  - …1 more
- **2021-09-22** `dc9b53b51fdd` — 1 breaking
  - the `policy` response's property type/format changed from `string`/`` to `object`/`` for status `201`
- **2021-09-20** `36e163b84ec9` — 1 breaking, 6 warning, 1 info
  - the request's body type/format changed from `object`/`` to ``/``
  - removed the request property `description`
  - removed the request property `format`
  - removed the request property `name`
  - …4 more

[Full history](https://skmtc.dev/orb-community/apis/orb-policies/changes/policies/agent/:id/put.md)

---

[API](https://skmtc.dev/orb-community/apis/orb-policies.md) · [All operations](https://skmtc.dev/orb-community/apis/orb-policies/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/orb-community/orb-policies/revisions/d95ee7691efb/schema)
