Patch service secrets
curl --request PATCH \
--url http://localhost:9371/services/{serviceId}/secrets \
--header 'Content-Type: application/json' \
--data '
[
{
"op": "add",
"path": "<string>",
"value": "<unknown>"
}
]
'import requests
url = "http://localhost:9371/services/{serviceId}/secrets"
payload = [
{
"op": "add",
"path": "<string>",
"value": "<unknown>"
}
]
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([{op: 'add', path: '<string>', value: '<unknown>'}])
};
fetch('http://localhost:9371/services/{serviceId}/secrets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "9371",
CURLOPT_URL => "http://localhost:9371/services/{serviceId}/secrets",
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([
[
'op' => 'add',
'path' => '<string>',
'value' => '<unknown>'
]
]),
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 := "http://localhost:9371/services/{serviceId}/secrets"
payload := strings.NewReader("[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\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("http://localhost:9371/services/{serviceId}/secrets")
.header("Content-Type", "application/json")
.body("[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:9371/services/{serviceId}/secrets")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"updated": true
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "rate_limit_exceeded",
"message": "<string>",
"retryAfter": 1
}{
"error": "<string>",
"code": "<string>"
}Patch service secrets
Applies a JSON Patch document to the encrypted secrets payload, persists the updated secrets, and returns a confirmation. Remove operations targeting paths that do not exist are ignored. Stored values that are no longer defined by the schema are preserved; adding new schema-disallowed keys is rejected. The response only confirms success; secrets are never echoed back.
PATCH
/
services
/
{serviceId}
/
secrets
Patch service secrets
curl --request PATCH \
--url http://localhost:9371/services/{serviceId}/secrets \
--header 'Content-Type: application/json' \
--data '
[
{
"op": "add",
"path": "<string>",
"value": "<unknown>"
}
]
'import requests
url = "http://localhost:9371/services/{serviceId}/secrets"
payload = [
{
"op": "add",
"path": "<string>",
"value": "<unknown>"
}
]
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([{op: 'add', path: '<string>', value: '<unknown>'}])
};
fetch('http://localhost:9371/services/{serviceId}/secrets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "9371",
CURLOPT_URL => "http://localhost:9371/services/{serviceId}/secrets",
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([
[
'op' => 'add',
'path' => '<string>',
'value' => '<unknown>'
]
]),
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 := "http://localhost:9371/services/{serviceId}/secrets"
payload := strings.NewReader("[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\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("http://localhost:9371/services/{serviceId}/secrets")
.header("Content-Type", "application/json")
.body("[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:9371/services/{serviceId}/secrets")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n {\n \"op\": \"add\",\n \"path\": \"<string>\",\n \"value\": \"<unknown>\"\n }\n]"
response = http.request(request)
puts response.read_body{
"updated": true
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "rate_limit_exceeded",
"message": "<string>",
"retryAfter": 1
}{
"error": "<string>",
"code": "<string>"
}Path Parameters
Service identifier matching the installed manifest id.
Minimum string length:
1Body
application/json
Response
Confirmation that the secrets payload was updated.
Response returned after patching service secrets.
Acknowledges that the secrets patch was accepted and persisted.
Last modified on August 25, 2026
Was this page helpful?