Add models to inference gateway provider group
curl --request POST \
--url https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"modelGroupId": "<string>",
"modelIds": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload = {
"modelGroupId": "<string>",
"modelIds": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', '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 => [
"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}/enable-models"
payload := strings.NewReader("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
.header("x-api-key", "<api-key>")
.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["x-api-key"] = '<api-key>'
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>"
]
}
],
"message": "<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 the Manage Gateway providers permission 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 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"modelGroupId": "<string>",
"modelIds": [
"<string>"
]
}
'import requests
url = "https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models"
payload = {
"modelGroupId": "<string>",
"modelIds": ["<string>"]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', '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 => [
"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}/enable-models"
payload := strings.NewReader("{\n \"modelGroupId\": \"<string>\",\n \"modelIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/inference-providers/{inferenceProviderId}/enable-models")
.header("x-api-key", "<api-key>")
.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["x-api-key"] = '<api-key>'
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>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
denApiKeybearerAuth
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.
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?