curl --request GET \
--url https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"identifier": "<string>",
"version": 123,
"status": "pending",
"digest": "<string>",
"input_schema": "trail",
"comment": "<string>",
"created_at": 123,
"created_by": "<string>",
"validated_at": 123,
"opa_version": "<string>",
"entrypoint": "<string>",
"params_schema": {},
"error": {
"kind": "<string>",
"message": "<string>"
}
}{
"message": "Input payload validation failed"
}{
"message": "You don't have permission to access this resource"
}{
"message": "Rego policy or version not found"
}Get a version of a rego policy
Beta — the Server-side evaluation feature is in beta. Requests from organizations without it enabled receive 403 Forbidden.
curl --request GET \
--url https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.kosli.com/api/v2/rego-policies/{org}/{identifier}/versions/{version_number}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"identifier": "<string>",
"version": 123,
"status": "pending",
"digest": "<string>",
"input_schema": "trail",
"comment": "<string>",
"created_at": 123,
"created_by": "<string>",
"validated_at": 123,
"opa_version": "<string>",
"entrypoint": "<string>",
"params_schema": {},
"error": {
"kind": "<string>",
"message": "<string>"
}
}{
"message": "Input payload validation failed"
}{
"message": "You don't have permission to access this resource"
}{
"message": "Rego policy or version not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
-9223372036854776000 <= x <= 9223372036854776000Response
Successful Response
Identifier of the policy this version belongs to
Version number, counting up from 1
pending until the version has been validated, then valid, rejected if the policy is at fault, or failed if we are
pending, valid, rejected, failed sha256: and the hex digest of the bundle's files, which is what a decision cites
Shape of the input this version is written against
trail, trails Why this version was published
Unix timestamp the version was published at
Display name of the user who published it
Unix timestamp the version left pending
Version of OPA that validated it, absent when pending or failed
Policy package the evaluator found, present when valid
JSON Schema the policy declares for its params, present when valid and the policy declares one
Why the version is not valid, present when rejected or failed
Show child attributes
Show child attributes