Patch Observability
Upsert the singleton observability row.
First write requires observability. Updates apply only the
fields explicitly present in the body. The reload pipeline
reassembles + validates the engine config; failures roll back
with a 422.
PATCH
/
admin
/
api
/
v1
/
observability
Patch Observability
curl --request PATCH \
--url https://api.example.com/admin/api/v1/observability \
--header 'Content-Type: application/json' \
--data '
{
"observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": true
}
}
'import requests
url = "https://api.example.com/admin/api/v1/observability"
payload = { "observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": True
} }
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
observability: {
config: {
provider: 'LANGFUSE',
host: 'https://cloud.langfuse.com',
publicKey: '',
secretKey: '',
runName: ''
},
provider: 'LANGFUSE',
enabled: true
}
})
};
fetch('https://api.example.com/admin/api/v1/observability', 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://api.example.com/admin/api/v1/observability",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'observability' => [
'config' => [
'provider' => 'LANGFUSE',
'host' => 'https://cloud.langfuse.com',
'publicKey' => '',
'secretKey' => '',
'runName' => ''
],
'provider' => 'LANGFUSE',
'enabled' => true
]
]),
CURLOPT_HTTPHEADER => [
"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://api.example.com/admin/api/v1/observability"
payload := strings.NewReader("{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.patch("https://api.example.com/admin/api/v1/observability")
.header("Content-Type", "application/json")
.body("{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/admin/api/v1/observability")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": true
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"reload": {
"message": "<string>",
"error": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Body
application/json
Body for PATCH /admin/api/v1/observability. All fields optional.
Observability configuration.
Show child attributes
Show child attributes
Response
Successful Response
GET response and the data payload of PATCH responses.
Show child attributes
Show child attributes
Reload outcome attached to every admin mutation response.
reloaded means DB committed and runtime now uses the new config.
restart_required means DB committed and process restart is needed.
reload_failed means DB rolled back and runtime is unchanged.
Show child attributes
Show child attributes
Last modified on May 22, 2026
Was this page helpful?
⌘I
Patch Observability
curl --request PATCH \
--url https://api.example.com/admin/api/v1/observability \
--header 'Content-Type: application/json' \
--data '
{
"observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": true
}
}
'import requests
url = "https://api.example.com/admin/api/v1/observability"
payload = { "observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": True
} }
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
observability: {
config: {
provider: 'LANGFUSE',
host: 'https://cloud.langfuse.com',
publicKey: '',
secretKey: '',
runName: ''
},
provider: 'LANGFUSE',
enabled: true
}
})
};
fetch('https://api.example.com/admin/api/v1/observability', 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://api.example.com/admin/api/v1/observability",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'observability' => [
'config' => [
'provider' => 'LANGFUSE',
'host' => 'https://cloud.langfuse.com',
'publicKey' => '',
'secretKey' => '',
'runName' => ''
],
'provider' => 'LANGFUSE',
'enabled' => true
]
]),
CURLOPT_HTTPHEADER => [
"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://api.example.com/admin/api/v1/observability"
payload := strings.NewReader("{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.patch("https://api.example.com/admin/api/v1/observability")
.header("Content-Type", "application/json")
.body("{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/admin/api/v1/observability")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"observability\": {\n \"config\": {\n \"provider\": \"LANGFUSE\",\n \"host\": \"https://cloud.langfuse.com\",\n \"publicKey\": \"\",\n \"secretKey\": \"\",\n \"runName\": \"\"\n },\n \"provider\": \"LANGFUSE\",\n \"enabled\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"observability": {
"config": {
"provider": "LANGFUSE",
"host": "https://cloud.langfuse.com",
"publicKey": "",
"secretKey": "",
"runName": ""
},
"provider": "LANGFUSE",
"enabled": true
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"reload": {
"message": "<string>",
"error": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}