List Smart Routers
curl --request GET \
--url https://api.openworklabs.com/v1/org/auto-routers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/auto-routers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/org/auto-routers', 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/org/auto-routers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/org/auto-routers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/org/auto-routers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/auto-routers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"routing": "ready",
"canEdit": true,
"routers": [
{
"id": "<string>",
"name": "<string>",
"assignment": {
"everyone": true,
"teamIds": [
"<string>"
],
"memberIds": [
"<string>"
]
},
"models": [
{
"id": "<string>",
"providerId": "<string>",
"modelId": "<string>",
"tasks": [
"<string>"
]
}
],
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"tasks": [
"<string>"
]
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Inference Providers
List Smart Routers
Returns the organization’s Smart Routers, oldest first: each one’s name, who it applies to (everyone, teams, members), and its AI Gateway models with the tasks each handles. Also returns every task in the organization and whether the AI Gateway can route (routing: ready, missing_key when it has no TypeSafe key, or unknown when it could not be reached). Requires the View Gateway providers permission and the Smart Model Router feature.
GET
/
v1
/
org
/
auto-routers
List Smart Routers
curl --request GET \
--url https://api.openworklabs.com/v1/org/auto-routers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.openworklabs.com/v1/org/auto-routers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.openworklabs.com/v1/org/auto-routers', 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/org/auto-routers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.openworklabs.com/v1/org/auto-routers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.openworklabs.com/v1/org/auto-routers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/auto-routers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"routing": "ready",
"canEdit": true,
"routers": [
{
"id": "<string>",
"name": "<string>",
"assignment": {
"everyone": true,
"teamIds": [
"<string>"
],
"memberIds": [
"<string>"
]
},
"models": [
{
"id": "<string>",
"providerId": "<string>",
"modelId": "<string>",
"tasks": [
"<string>"
]
}
],
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"tasks": [
"<string>"
]
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<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.
Was this page helpful?