curl --request PUT \
--url https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 1073741824,
"idle_timeout_ms": 1073741824,
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {}
}
'import requests
url = "https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}"
payload = {
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 1073741824,
"idle_timeout_ms": 1073741824,
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {}
}
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({
base_url: '<string>',
endpoint_path: '<string>',
request_timeout_ms: 1073741824,
idle_timeout_ms: 1073741824,
auth_options: {header_name: '<string>', service: '<string>', region: '<string>'},
credential_secret_id: '<string>',
headers: {},
secret_headers: {}
})
};
fetch('https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}', 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.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}",
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([
'base_url' => '<string>',
'endpoint_path' => '<string>',
'request_timeout_ms' => 1073741824,
'idle_timeout_ms' => 1073741824,
'auth_options' => [
'header_name' => '<string>',
'service' => '<string>',
'region' => '<string>'
],
'credential_secret_id' => '<string>',
'headers' => [
],
'secret_headers' => [
]
]),
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://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}"
payload := strings.NewReader("{\n \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\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://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}")
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 \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"org_id": "<string>",
"management_kind": "tenant",
"name": "<string>",
"api_format": "openai-responses",
"api_variant": "<string>",
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 123,
"idle_timeout_ms": 123,
"auth_kind": "<string>",
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Update model provider config
curl --request PUT \
--url https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 1073741824,
"idle_timeout_ms": 1073741824,
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {}
}
'import requests
url = "https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}"
payload = {
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 1073741824,
"idle_timeout_ms": 1073741824,
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {}
}
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({
base_url: '<string>',
endpoint_path: '<string>',
request_timeout_ms: 1073741824,
idle_timeout_ms: 1073741824,
auth_options: {header_name: '<string>', service: '<string>', region: '<string>'},
credential_secret_id: '<string>',
headers: {},
secret_headers: {}
})
};
fetch('https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}', 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.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}",
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([
'base_url' => '<string>',
'endpoint_path' => '<string>',
'request_timeout_ms' => 1073741824,
'idle_timeout_ms' => 1073741824,
'auth_options' => [
'header_name' => '<string>',
'service' => '<string>',
'region' => '<string>'
],
'credential_secret_id' => '<string>',
'headers' => [
],
'secret_headers' => [
]
]),
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://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}"
payload := strings.NewReader("{\n \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\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://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.omnara.com/v1/orgs/{orgID}/model-provider-configs/{modelProviderConfigID}")
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 \"base_url\": \"<string>\",\n \"endpoint_path\": \"<string>\",\n \"request_timeout_ms\": 1073741824,\n \"idle_timeout_ms\": 1073741824,\n \"auth_options\": {\n \"header_name\": \"<string>\",\n \"service\": \"<string>\",\n \"region\": \"<string>\"\n },\n \"credential_secret_id\": \"<string>\",\n \"headers\": {},\n \"secret_headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"org_id": "<string>",
"management_kind": "tenant",
"name": "<string>",
"api_format": "openai-responses",
"api_variant": "<string>",
"base_url": "<string>",
"endpoint_path": "<string>",
"request_timeout_ms": 123,
"idle_timeout_ms": 123,
"auth_kind": "<string>",
"auth_options": {
"header_name": "<string>",
"service": "<string>",
"region": "<string>"
},
"credential_secret_id": "<string>",
"headers": {},
"secret_headers": {},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>",
"current_digest": "<string>",
"issues": [
{
"path": "<string>",
"message": "<string>",
"line": 2,
"column": 2
}
]
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
An opaque Omnara personal or organization bearer token.
Path Parameters
^org_[a-z2-7]{26}$^mpc_[a-z2-7]{26}$Body
Update a provider config. Omitted fields keep their current values.
Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode.
1URL path under base_url. This changes where requests are sent, not which API format Omnara speaks.
1^/Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Retries have separate deadlines.
1 <= x <= 2147483647Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Local response processing does not consume this idle budget.
1 <= x <= 2147483647bearer_token, api_key_header, sigv4 Non-secret authentication settings. Use an empty object with bearer_token. With api_key_header, set {"header_name":"..."}. With sigv4, set the AWS signing service and region.
Show child attributes
Show child attributes
^sec_[a-z2-7]{26}$Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens. Replaces all headers when provided.
Show child attributes
Show child attributes
Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references. Replaces all secret headers when provided.
Show child attributes
Show child attributes
Response
Route response.
^mpc_[a-z2-7]{26}$^org_[a-z2-7]{26}$Lifecycle owner. Tenant-managed resources can be changed through tenant APIs. Cluster-managed resources are installed and lifecycle-managed by the control plane; individual APIs may explicitly expose tenant-editable settings.
tenant, cluster Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
1 - 64openai-responses, openai-chat-completions, anthropic-messages Provider endpoint base URL. Normal API mode uses public HTTPS endpoints; localhost and loopback endpoints are only for insecure dev-mode configs.
Non-secret authentication settings for this provider config.
Show child attributes
Show child attributes
^sec_[a-z2-7]{26}$Extra HTTP headers sent with every request to this provider.
Show child attributes
Show child attributes
Extra HTTP headers whose values come from the referenced secrets.
Show child attributes
Show child attributes