v1

latestOpenAPI 3.0.3Apache 2.02026-07-13161446.9 KB
Policy API

Create or update a policy module

  • If the policy module does not exist, it is created.
  • If the policy module already exists, it is replaced.

If the policy module isn't correctly defined, a bad request (400) response is returned.

Example policy module

package opa.examples

import data.servers
import data.networks
import data.ports

public_servers[server] {
  some k, m
  	server := servers[_]
  	server.ports[_] == ports[k].id
  	ports[k].networks[_] == networks[m].id
  	networks[m].public == true
}
put/v1/policies/{id}

Query parameters

prettyboolean

If true, response will be in a human-readable format.

metricsboolean

If true, compiler performance metrics will be returned in the response.

Response

Success

Example response

{
  "result": [
    {
      "id": "example2",
      "raw": "package opa.examples\\n\\nimport data.servers\\n\\nviolations[server] {\\n\\tserver = servers[_]\\n\\tserver.protocols[_] = \\\"http\\\"\\n\\tpublic_servers[server]\\n}\\n",
      "ast": {
        "package": {
          "path": [
            {
              "type": "import",
              "value": "data.opa.example"
            }
          ]
        },
        "rules": [
          {
            "head": {
              "name": "violations",
              "key": {
                "type": "var",
                "value": "$0"
              }
            },
            "body": [
              {
                "index": 1,
                "terms": [
                  {
                    "type": "var"
                  }
                ]
              }
            ]
          }
        ]
      }
    }
  ]
}