--- id: update-a-policy title: "Update a Policy" description: "Update/Replace a Policy" sidebar_label: "Update a Policy" hide_title: true hide_table_of_contents: true api: {"description":"Update/Replace a Policy","tags":["Policies"],"security":[{"BearerAuth":[]},{"TokenAuth":[]}],"parameters":[{"in":"path","name":"policyId","required":true,"schema":{"type":"string"},"description":"The unique identifier of a policy"}],"requestBody":{"description":"Update Policy request","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"description":"Policy name identifier","type":"string"},"description":{"description":"Policy friendly description","type":"string"},"enabled":{"description":"Policy status","type":"boolean"},"query":{"description":"Policy Rego query","type":"string"},"rules":{"description":"Policy rule object for policy UI editor","type":"array","items":{"type":"object","properties":{"id":{"description":"Rule ID","type":"string"},"name":{"description":"Rule name identifier","type":"string"},"description":{"description":"Rule friendly description","type":"string"},"enabled":{"description":"Rules status","type":"boolean"},"sources":{"description":"policy source groups","type":"array","items":{"type":"object","properties":{"id":{"description":"Group ID","type":"string"},"name":{"description":"Group Name identifier","type":"string"},"peers_count":{"description":"Count of peers associated to the group","type":"integer"}},"required":["id","name","peers_count"],"title":"GroupMinimum"}},"destinations":{"description":"policy destination groups","type":"array","items":{"type":"object","properties":{"id":{"description":"Group ID","type":"string"},"name":{"description":"Group Name identifier","type":"string"},"peers_count":{"description":"Count of peers associated to the group","type":"integer"}},"required":["id","name","peers_count"],"title":"GroupMinimum"}},"action":{"description":"policy accept or drops packets","type":"string","enum":["accept","drop"]}},"required":["name","sources","destinations","action","enabled"],"title":"PolicyRule"}}},"required":["name","description","enabled","query","rules"],"title":"PolicyMinimum"}]}}}},"responses":{"200":{"description":"A Policy object","content":{"application/json":{"schema":{"allOf":[{"type":"object","properties":{"name":{"description":"Policy name identifier","type":"string"},"description":{"description":"Policy friendly description","type":"string"},"enabled":{"description":"Policy status","type":"boolean"},"query":{"description":"Policy Rego query","type":"string"},"rules":{"description":"Policy rule object for policy UI editor","type":"array","items":{"type":"object","properties":{"id":{"description":"Rule ID","type":"string"},"name":{"description":"Rule name identifier","type":"string"},"description":{"description":"Rule friendly description","type":"string"},"enabled":{"description":"Rules status","type":"boolean"},"sources":{"description":"policy source groups","type":"array","items":{"type":"object","properties":{"id":{"description":"Group ID","type":"string"},"name":{"description":"Group Name identifier","type":"string"},"peers_count":{"description":"Count of peers associated to the group","type":"integer"}},"required":["id","name","peers_count"],"title":"GroupMinimum"}},"destinations":{"description":"policy destination groups","type":"array","items":{"type":"object","properties":{"id":{"description":"Group ID","type":"string"},"name":{"description":"Group Name identifier","type":"string"},"peers_count":{"description":"Count of peers associated to the group","type":"integer"}},"required":["id","name","peers_count"],"title":"GroupMinimum"}},"action":{"description":"policy accept or drops packets","type":"string","enum":["accept","drop"]}},"required":["name","sources","destinations","action","enabled"],"title":"PolicyRule"}}},"required":["name","description","enabled","query","rules"],"title":"PolicyMinimum"},{"type":"object","properties":{"id":{"description":"Policy ID","type":"string"}},"required":["id"]}],"title":"Policy"}}}},"400":{"description":"Bad Request","content":{}},"401":{"description":"Requires authentication","content":{}},"403":{"description":"Forbidden","content":{}},"500":{"description":"Internal Server Error","content":{}}},"method":"put","path":"/api/policies/{policyId}","servers":[{"url":"https://netbird.io","description":"Default server"}],"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"TokenAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Prefix the value with \\\"Token\\\" to indicate the custom authorization type"}},"jsonRequestBodyExample":{"name":"string","description":"string","enabled":true,"query":"string","rules":[{"id":"string","name":"string","description":"string","enabled":true,"sources":[{"id":"string","name":"string","peers_count":0}],"destinations":[{"id":"string","name":"string","peers_count":0}],"action":"accept"}]},"info":{"title":"NetBird REST API","description":"API to manipulate groups, rules, policies and retrieve information about peers and users","version":"0.0.1"},"postman":{"name":"Update a Policy","description":{"content":"Update/Replace a Policy","type":"text/plain"},"url":{"path":["api","policies",":policyId"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The unique identifier of a policy","type":"text/plain"},"type":"any","value":"","key":"policyId"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}},"auth":{"type":"bearer","bearer":[{"type":"any","value":"","key":"token"}]}}} sidebar_class_name: "put api-method" info_path: api/netbird-rest-api custom_edit_url: null --- import ApiTabs from "@theme/ApiTabs"; import MimeTabs from "@theme/MimeTabs"; import ParamsItem from "@theme/ParamsItem"; import ResponseSamples from "@theme/ResponseSamples"; import SchemaItem from "@theme/SchemaItem"; import SchemaTabs from "@theme/SchemaTabs"; import DiscriminatorTabs from "@theme/DiscriminatorTabs"; import TabItem from "@theme/TabItem"; ## Update a Policy Update/Replace a Policy
Path Parameters
Request Body
Update Policy request
    rules object[] required
    Policy rule object for policy UI editor
  • Array [
  • sources object[] required
    policy source groups
  • Array [
  • ]
  • destinations object[] required
    policy destination groups
  • Array [
  • ]
  • ]
A Policy object
Schema
    rules object[] required
    Policy rule object for policy UI editor
  • Array [
  • sources object[] required
    policy source groups
  • Array [
  • ]
  • destinations object[] required
    policy destination groups
  • Array [
  • ]
  • ]
Bad Request
Requires authentication
Forbidden
Internal Server Error