Set who a Smart Router applies to
curl --request PUT \
--url https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assignment": {
"everyone": true,
"teamIds": [
"<string>"
],
"memberIds": [
"<string>"
]
}
}
'import requests
url = "https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment"
payload = { "assignment": {
"everyone": True,
"teamIds": ["<string>"],
"memberIds": ["<string>"]
} }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({assignment: {everyone: true, teamIds: ['<string>'], memberIds: ['<string>']}})
};
fetch('https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment', 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/{routerId}/assignment",
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([
'assignment' => [
'everyone' => true,
'teamIds' => [
'<string>'
],
'memberIds' => [
'<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/org/auto-routers/{routerId}/assignment"
payload := strings.NewReader("{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}"
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>"
],
"routerId": "<string>"
}{
"error": "unknown_model",
"message": "<string>",
"model": 0
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Inference Providers
Set who a Smart Router applies to
Replaces who a Smart Router applies to: everyone, teams and members. Members it applies to get "Smart: <name>" in the desktop at their next provider sync, when they can use at least one of its models. Making it apply to everyone also needs the Share with everyone permission. Requires the Manage Gateway providers permission, a recent sign-in and the Smart Model Router feature. Returns the whole list and the router's id.
PUT
/
v1
/
org
/
auto-routers
/
{routerId}
/
assignment
Set who a Smart Router applies to
curl --request PUT \
--url https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assignment": {
"everyone": true,
"teamIds": [
"<string>"
],
"memberIds": [
"<string>"
]
}
}
'import requests
url = "https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment"
payload = { "assignment": {
"everyone": True,
"teamIds": ["<string>"],
"memberIds": ["<string>"]
} }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({assignment: {everyone: true, teamIds: ['<string>'], memberIds: ['<string>']}})
};
fetch('https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment', 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/{routerId}/assignment",
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([
'assignment' => [
'everyone' => true,
'teamIds' => [
'<string>'
],
'memberIds' => [
'<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/org/auto-routers/{routerId}/assignment"
payload := strings.NewReader("{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/org/auto-routers/{routerId}/assignment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assignment\": {\n \"everyone\": true,\n \"teamIds\": [\n \"<string>\"\n ],\n \"memberIds\": [\n \"<string>\"\n ]\n }\n}"
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>"
],
"routerId": "<string>"
}{
"error": "unknown_model",
"message": "<string>",
"model": 0
}{
"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.
Path Parameters
Den TypeID with 'aur_' prefix and a 26-character base32 suffix.
Required string length:
30Body
application/json
Show child attributes
Show child attributes
Was this page helpful?