Replace policy
curl --request PUT \
--url https://{workspace}.klef.ai/api/policies/{id} \
--header 'Content-Type: application/json' \
--header 'If-Match: <if-match>' \
--cookie klef.session= \
--data '
{
"source": "<string>"
}
'import requests
url = "https://{workspace}.klef.ai/api/policies/{id}"
payload = { "source": "<string>" }
headers = {
"cookie": "klef.session=",
"If-Match": "<if-match>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
cookie: 'klef.session=',
'If-Match': '<if-match>',
'Content-Type': 'application/json'
},
body: JSON.stringify({source: '<string>'})
};
fetch('https://{workspace}.klef.ai/api/policies/{id}', 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://{workspace}.klef.ai/api/policies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'source' => '<string>'
]),
CURLOPT_COOKIE => "klef.session=",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"If-Match: <if-match>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{workspace}.klef.ai/api/policies/{id}"
payload := strings.NewReader("{\n \"source\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("cookie", "klef.session=")
req.Header.Add("If-Match", "<if-match>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{workspace}.klef.ai/api/policies/{id}")
.header("cookie", "klef.session=")
.header("If-Match", "<if-match>")
.header("Content-Type", "application/json")
.body("{\n \"source\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{workspace}.klef.ai/api/policies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["cookie"] = 'klef.session='
request["If-Match"] = '<if-match>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"version": 123,
"revision": 123,
"diagnostics": [
{
"code": "<string>",
"severity": "error",
"message": "<string>",
"start": 123,
"end": 123,
"candidates": [
"<string>"
],
"unresolved": "segment"
}
]
},
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}Policies
Replace policy
Name, category, and segment come from the document, so a document that doesn’t compile is rejected. Returns the compile warnings and the save’s effect on the next plan.
PUT
/
policies
/
{id}
Replace policy
curl --request PUT \
--url https://{workspace}.klef.ai/api/policies/{id} \
--header 'Content-Type: application/json' \
--header 'If-Match: <if-match>' \
--cookie klef.session= \
--data '
{
"source": "<string>"
}
'import requests
url = "https://{workspace}.klef.ai/api/policies/{id}"
payload = { "source": "<string>" }
headers = {
"cookie": "klef.session=",
"If-Match": "<if-match>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
cookie: 'klef.session=',
'If-Match': '<if-match>',
'Content-Type': 'application/json'
},
body: JSON.stringify({source: '<string>'})
};
fetch('https://{workspace}.klef.ai/api/policies/{id}', 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://{workspace}.klef.ai/api/policies/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'source' => '<string>'
]),
CURLOPT_COOKIE => "klef.session=",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"If-Match: <if-match>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{workspace}.klef.ai/api/policies/{id}"
payload := strings.NewReader("{\n \"source\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("cookie", "klef.session=")
req.Header.Add("If-Match", "<if-match>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{workspace}.klef.ai/api/policies/{id}")
.header("cookie", "klef.session=")
.header("If-Match", "<if-match>")
.header("Content-Type", "application/json")
.body("{\n \"source\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{workspace}.klef.ai/api/policies/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["cookie"] = 'klef.session='
request["If-Match"] = '<if-match>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"result": {
"version": 123,
"revision": 123,
"diagnostics": [
{
"code": "<string>",
"severity": "error",
"message": "<string>",
"start": 123,
"end": 123,
"candidates": [
"<string>"
],
"unresolved": "segment"
}
]
},
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}{
"result": "<unknown>",
"errors": [
{
"errorCode": "validation_error",
"errorMessage": "<string>",
"target": "<string>"
}
]
}Authorizations
cookieAuthapiKeyAuth
Cookie-based session. Obtain by completing the /auth/login/{provider} OAuth flow; the /auth/callback response sets the klef.session cookie that subsequent requests send automatically.
Headers
Strong ETag (e.g. "3") of the resource's current version, from the most recent GET or write. Required for the write to proceed; a missing header returns 428, a malformed value returns 400.
Path Parameters
Body
application/json
Minimum string length:
1Was this page helpful?