Add models to inference gateway provider group
curl --request POST \
--url https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"modelGroupId": "<string>",
"modelIds": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload = {
"modelGroupId": "<string>",
"modelIds": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({modelGroupId: '<string>', modelIds: ['<string>']})
};
fetch('https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models', 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}/enable-models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'modelGroupId' => '<string>',
'modelIds' => [
'<string>'
]
]),
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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload := strings.NewReader("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"inferenceProviderId": "<string>",
"modelGroupId": "<string>",
"modelIds": [
"<string>"
],
"groupModelIds": [
"<string>"
],
"addedModelIds": [
"<string>"
]
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Inference Providers
Add models to inference gateway provider group
Add upstream catalog model IDs to one explicitly selected existing model group without removing other models or changing access grants. Empty provider modelIds policy stays unrestricted; nonempty policy widens. Repeated calls are idempotent. Requires owner/admin and Gateway management; session callers must recently reauthenticate.
POST
/
v1
/
inference-providers
/
{inferenceProviderId}
/
enable-models
Add models to inference gateway provider group
curl --request POST \
--url https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"modelGroupId": "<string>",
"modelIds": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload = {
"modelGroupId": "<string>",
"modelIds": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({modelGroupId: '<string>', modelIds: ['<string>']})
};
fetch('https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models', 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}/enable-models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'modelGroupId' => '<string>',
'modelIds' => [
'<string>'
]
]),
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.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload := strings.NewReader("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"inferenceProviderId": "<string>",
"modelGroupId": "<string>",
"modelIds": [
"<string>"
],
"groupModelIds": [
"<string>"
],
"addedModelIds": [
"<string>"
]
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
bearerAuthdenApiKey
Session token passed as Authorization: Bearer <session-token> for user-authenticated Den routes.
Path Parameters
Den TypeID with 'ipr_' prefix and a 26-character base32 suffix.
Required string length:
30Body
application/json
Response
Add models to inference gateway provider group
Den TypeID with 'ipr_' prefix and a 26-character base32 suffix.
Required string length:
30Den TypeID with 'gmg_' prefix and a 26-character base32 suffix.
Required string length:
30Maximum array length:
500Required string length:
1 - 255Maximum array length:
500Required string length:
1 - 255Maximum array length:
500Required string length:
1 - 255Was this page helpful?