Replace a policy's document.
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 a policy's document.
The name, category and segment are read out of the document, so a document that does not compile is refused and nothing is written. The answer carries the warnings the document compiled with and what the next plan does differently because of the save.
PUT
/
policies
/
{id}
Replace a policy's document.
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?