Skip to main content

policies

The policies API returns information about all the policy modules loaded into the authorizer.

URL​

GET .../api/v2/policies

GET .../api/v2/policies?field_mask={string,...}

The field_mask URL parameter indicates which fields to return. Available fields are described in the Results section below.

Example:

curl -k "https://localhost:8383/api/v2/policies?field_mask=id,raw"

Results​

The result is returned as a JSON array which contains an object for every module in the policy. The object contains:

  • an id, which can be used as a path parameter to return only information about this module (see below)
  • a raw field that contains the module text as a string
  • a package_path which is where the module is loaded in the data namespace
  • an ast field which contains the abstract syntax tree of the module
{
"result": [
{
"id": "todo/tmp/opa/oci/github/workspace/content/src/policies/todos.GET.rego",
"raw": "package todoApp.GET.todos\n\ndefault allowed = true\n",
"package_path": "data.todoApp.GET.todos",
"ast": {
"package": {
"path": [
{
"type": "var",
"value": "data"
},
{
"type": "string",
"value": "todoApp"
},
{
"type": "string",
"value": "GET"
},
{
"type": "string",
"value": "todos"
}
]
},
"rules": [
{
"body": [
{
"index": 0,
"terms": {
"type": "boolean",
"value": true
}
}
],
"default": true,
"head": {
"name": "allowed",
"value": {
"type": "boolean",
"value": true
}
}
}
]
}
}
]
}

policies by ID

URL​

GET .../api/v2/policies/{id}

GET .../api/v2/policies/{id}?field_mask={string,...}

The id is retrieved from the id field in the /api/v2/policies call.

The field_mask URL parameter indicates which fields to return. Available fields are thje same as the ones described in the Results section above.

Results​

The result returned is an object with the same fields as described above.

{
"result": {
"id": "todo/tmp/opa/oci/github/workspace/content/src/policies/todo.GET.user.__userID.rego",
"raw": "package todoApp.GET.user.__userID\n\ndefault allowed = true\n",
"package_path": "data.todoApp.GET.user.__userID",
"ast": {
}
}
}