curl --request PUT \
--url https://sreagent.app/api/v1/config/prompt_templates/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "<string>",
"description": "<string>",
"enabled": true,
"is_default": true,
"name": "<string>"
}
'import requests
url = "https://sreagent.app/api/v1/config/prompt_templates/{id}"
payload = {
"content": "<string>",
"description": "<string>",
"enabled": True,
"is_default": True,
"name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: '<string>',
description: '<string>',
enabled: true,
is_default: true,
name: '<string>'
})
};
fetch('https://sreagent.app/api/v1/config/prompt_templates/{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://sreagent.app/api/v1/config/prompt_templates/{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([
'content' => '<string>',
'description' => '<string>',
'enabled' => true,
'is_default' => true,
'name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sreagent.app/api/v1/config/prompt_templates/{id}"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sreagent.app/api/v1/config/prompt_templates/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sreagent.app/api/v1/config/prompt_templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>"
}Update a prompt template
Change a template’s name, description, content or switches; omitted ones keep their value, and a call naming only the id is refused rather than recorded as a change. The content is rescanned on every write and the scan can only ever flag: a template the scanner has flagged stays flagged and disabled through edits and toggles until somebody approves it on the Settings page. The type is not changeable here, and neither is the review decision.
curl --request PUT \
--url https://sreagent.app/api/v1/config/prompt_templates/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "<string>",
"description": "<string>",
"enabled": true,
"is_default": true,
"name": "<string>"
}
'import requests
url = "https://sreagent.app/api/v1/config/prompt_templates/{id}"
payload = {
"content": "<string>",
"description": "<string>",
"enabled": True,
"is_default": True,
"name": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: '<string>',
description: '<string>',
enabled: true,
is_default: true,
name: '<string>'
})
};
fetch('https://sreagent.app/api/v1/config/prompt_templates/{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://sreagent.app/api/v1/config/prompt_templates/{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([
'content' => '<string>',
'description' => '<string>',
'enabled' => true,
'is_default' => true,
'name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sreagent.app/api/v1/config/prompt_templates/{id}"
payload := strings.NewReader("{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sreagent.app/api/v1/config/prompt_templates/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sreagent.app/api/v1/config/prompt_templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"<string>\",\n \"description\": \"<string>\",\n \"enabled\": true,\n \"is_default\": true,\n \"name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": "<string>",
"message": "<string>"
}Authorizations
An sre_ak_* API key holding the api:admin scope (or api:config_read, which every write refuses with read_only_key).
Path Parameters
The resource's id.
Body
The prompt itself, 1 to 10000 characters. This is the text the model is given, so it is scanned for injection patterns on every write and answered in full by list_prompt_templates.
A line saying what this prompt is for, for whoever reads the list next. Pass null to clear it.
Whether the template may be served at all. The scanner sets it to false on a template it flags, and re-enabling one whose content still matches a pattern is refused by the scanner rather than by this argument.
Make this the default for its type, which demotes whatever held that place. Only an approved, enabled default is actually served.
What the template is called, 1 to 255 characters, unique within this organization.
Response
Updated.

