curl --request PUT \
--url https://{host}/api/llm-gateway/admin/connections/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"api_key": "<string>",
"auth_type": "<string>",
"base_url": "<string>",
"change_note": "<string>",
"credentials": "<unknown>",
"name": "<string>",
"settings": "<unknown>"
}
'import requests
url = "https://{host}/api/llm-gateway/admin/connections/{id}"
payload = {
"api_key": "<string>",
"auth_type": "<string>",
"base_url": "<string>",
"change_note": "<string>",
"credentials": "<unknown>",
"name": "<string>",
"settings": "<unknown>"
}
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({
api_key: '<string>',
auth_type: '<string>',
base_url: '<string>',
change_note: '<string>',
credentials: '<unknown>',
name: '<string>',
settings: '<unknown>'
})
};
fetch('https://{host}/api/llm-gateway/admin/connections/{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://{host}/api/llm-gateway/admin/connections/{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([
'api_key' => '<string>',
'auth_type' => '<string>',
'base_url' => '<string>',
'change_note' => '<string>',
'credentials' => '<unknown>',
'name' => '<string>',
'settings' => '<unknown>'
]),
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://{host}/api/llm-gateway/admin/connections/{id}"
payload := strings.NewReader("{\n \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\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://{host}/api/llm-gateway/admin/connections/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/llm-gateway/admin/connections/{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 \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"auth_type": "<string>",
"base_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_provider": "<string>",
"name": "<string>",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret_path": "<string>",
"settings": "<unknown>",
"stores_key_material": true,
"updated_at": "2023-11-07T05:31:56Z",
"created_by_email": "<string>",
"created_by_name": "<string>",
"created_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_change_note": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"last_modified_by_email": "<string>",
"last_modified_by_name": "<string>",
"last_modified_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key_last4": "<string>"
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}Update a credential
Updates a credential. Only the fields you send are changed. Sending api_key or credentials rotates the stored secret for every provider that references this credential.
curl --request PUT \
--url https://{host}/api/llm-gateway/admin/connections/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"api_key": "<string>",
"auth_type": "<string>",
"base_url": "<string>",
"change_note": "<string>",
"credentials": "<unknown>",
"name": "<string>",
"settings": "<unknown>"
}
'import requests
url = "https://{host}/api/llm-gateway/admin/connections/{id}"
payload = {
"api_key": "<string>",
"auth_type": "<string>",
"base_url": "<string>",
"change_note": "<string>",
"credentials": "<unknown>",
"name": "<string>",
"settings": "<unknown>"
}
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({
api_key: '<string>',
auth_type: '<string>',
base_url: '<string>',
change_note: '<string>',
credentials: '<unknown>',
name: '<string>',
settings: '<unknown>'
})
};
fetch('https://{host}/api/llm-gateway/admin/connections/{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://{host}/api/llm-gateway/admin/connections/{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([
'api_key' => '<string>',
'auth_type' => '<string>',
'base_url' => '<string>',
'change_note' => '<string>',
'credentials' => '<unknown>',
'name' => '<string>',
'settings' => '<unknown>'
]),
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://{host}/api/llm-gateway/admin/connections/{id}"
payload := strings.NewReader("{\n \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\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://{host}/api/llm-gateway/admin/connections/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/llm-gateway/admin/connections/{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 \"api_key\": \"<string>\",\n \"auth_type\": \"<string>\",\n \"base_url\": \"<string>\",\n \"change_note\": \"<string>\",\n \"credentials\": \"<unknown>\",\n \"name\": \"<string>\",\n \"settings\": \"<unknown>\"\n}"
response = http.request(request)
puts response.read_body{
"auth_type": "<string>",
"base_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"model_provider": "<string>",
"name": "<string>",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"secret_path": "<string>",
"settings": "<unknown>",
"stores_key_material": true,
"updated_at": "2023-11-07T05:31:56Z",
"created_by_email": "<string>",
"created_by_name": "<string>",
"created_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_change_note": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"last_modified_by_email": "<string>",
"last_modified_by_name": "<string>",
"last_modified_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key_last4": "<string>"
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}{
"error": {
"message": "retry_on_429_count must be between 0 and 10",
"type": "invalid_request_error"
}
}Authorizations
An access token from Barndoor's identity provider, sent as Authorization: Bearer <token>. Use a service-account token from the OAuth 2.0 client-credentials grant for scripts and CI, or a signed-in user's token. The caller needs the admin role in the organization. Gateway API keys (bd-...) are not accepted here.
Path Parameters
Record ID (UUID)
Body
New API key. Rotates the stored secret.
Optional note explaining this change. Omitting it clears the previous note.
New structured credentials. Rotates the stored secret.
Response
OK
A credential: an upstream secret that providers reference. The secret itself is never returned.
How the gateway authenticates upstream, for example bearer_api_key, x_api_key, azure_api_key, aws_role, or google_adc.
Internal reference to the stored secret. This is not the secret.
Whether this credential's auth type stores a secret.
Note explaining the last change.
When the last attributed change was made.
Last four characters of the stored key, when the credential holds one.