curl --request PATCH \
--url https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"apiKeys": {},
"oauthClientId": "<string>",
"oauthClientSecret": "<string>",
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}"
payload = {
"name": "<string>",
"apiKeys": {},
"oauthClientId": "<string>",
"oauthClientSecret": "<string>",
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
apiKeys: {},
oauthClientId: '<string>',
oauthClientSecret: '<string>',
oauthTenantId: '<string>',
awsSso: {
startUrl: '<string>',
region: '<string>',
accountId: '<string>',
roleName: '<string>'
}
})
};
fetch('https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}', 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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}",
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([
'name' => '<string>',
'apiKeys' => [
],
'oauthClientId' => '<string>',
'oauthClientSecret' => '<string>',
'oauthTenantId' => '<string>',
'awsSso' => [
'startUrl' => '<string>',
'region' => '<string>',
'accountId' => '<string>',
'roleName' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"credentialSet": {
"id": "<string>",
"name": "<string>",
"credentialMode": "org",
"status": "active",
"configured": true,
"credentialStatus": "ready",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
},
"oauthClientId": "<string>",
"hasOauthClientSecret": true,
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Update gateway credential set
Partially updates a credential set and returns status without secrets. Omitted credential fields preserve stored credentials. Changing mode or OAuth client configuration, or disabling the set, invalidates pending sign-ins and revokes affected credentials; renaming alone does not. Requires owner/admin permission and enabled Gateway management; session callers must recently reauthenticate.
curl --request PATCH \
--url https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"apiKeys": {},
"oauthClientId": "<string>",
"oauthClientSecret": "<string>",
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}"
payload = {
"name": "<string>",
"apiKeys": {},
"oauthClientId": "<string>",
"oauthClientSecret": "<string>",
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
apiKeys: {},
oauthClientId: '<string>',
oauthClientSecret: '<string>',
oauthTenantId: '<string>',
awsSso: {
startUrl: '<string>',
region: '<string>',
accountId: '<string>',
roleName: '<string>'
}
})
};
fetch('https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}', 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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}",
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([
'name' => '<string>',
'apiKeys' => [
],
'oauthClientId' => '<string>',
'oauthClientSecret' => '<string>',
'oauthTenantId' => '<string>',
'awsSso' => [
'startUrl' => '<string>',
'region' => '<string>',
'accountId' => '<string>',
'roleName' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/credential-sets/{credentialSetId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"apiKeys\": {},\n \"oauthClientId\": \"<string>\",\n \"oauthClientSecret\": \"<string>\",\n \"oauthTenantId\": \"<string>\",\n \"awsSso\": {\n \"startUrl\": \"<string>\",\n \"region\": \"<string>\",\n \"accountId\": \"<string>\",\n \"roleName\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"credentialSet": {
"id": "<string>",
"name": "<string>",
"credentialMode": "org",
"status": "active",
"configured": true,
"credentialStatus": "ready",
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": {
"id": "<string>",
"name": "<string>",
"email": "<string>"
},
"oauthClientId": "<string>",
"hasOauthClientSecret": true,
"oauthTenantId": "<string>",
"awsSso": {
"startUrl": "<string>",
"region": "<string>",
"accountId": "<string>",
"roleName": "<string>"
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Path Parameters
Den TypeID with 'ipr_' prefix and a 26-character base32 suffix.
30Den TypeID with 'gcs_' prefix and a 26-character base32 suffix.
30Body
1 - 255org, member Show child attributes
Show child attributes
Show child attributes
Show child attributes
2554096Microsoft Foundry member sets: the Entra ID directory (tenant) ID. Empty string clears.
64Amazon Bedrock member sets: IAM Identity Center access portal URL, its region, the AWS account ID and the permission set name members get. null clears.
Show child attributes
Show child attributes
active, disabled Response
Update gateway credential set
Show child attributes
Show child attributes
Was this page helpful?