List an agent's available models
curl --request GET \
--url https://api.onecli.sh/v1/agents/{agentId}/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onecli.sh/v1/agents/{agentId}/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onecli.sh/v1/agents/{agentId}/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.onecli.sh/v1/agents/{agentId}/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.onecli.sh/v1/agents/{agentId}/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.onecli.sh/v1/agents/{agentId}/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/agents/{agentId}/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"provider": "<string>",
"providerLabel": "<string>",
"providerScope": "<string>",
"models": [
{
"id": "<string>",
"label": "<string>"
}
],
"efforts": [
{
"id": "<string>",
"label": "<string>"
}
],
"defaults": {
"model": "<string>",
"effort": "<string>"
},
"selected": {
"model": "<string>",
"effort": "<string>",
"overridden": true
},
"degraded": true
}{
"error": "<string>"
}{
"error": "<string>"
}Agents
List an agent's available models
The models the agent’s granted LLM key can run, the provider’s defaults, and the agent’s current selection. Always 200 for an existing agent — no granted key yields an empty list.
GET
/
agents
/
{agentId}
/
models
List an agent's available models
curl --request GET \
--url https://api.onecli.sh/v1/agents/{agentId}/models \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onecli.sh/v1/agents/{agentId}/models"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onecli.sh/v1/agents/{agentId}/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.onecli.sh/v1/agents/{agentId}/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.onecli.sh/v1/agents/{agentId}/models"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.onecli.sh/v1/agents/{agentId}/models")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onecli.sh/v1/agents/{agentId}/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"provider": "<string>",
"providerLabel": "<string>",
"providerScope": "<string>",
"models": [
{
"id": "<string>",
"label": "<string>"
}
],
"efforts": [
{
"id": "<string>",
"label": "<string>"
}
],
"defaults": {
"model": "<string>",
"effort": "<string>"
},
"selected": {
"model": "<string>",
"effort": "<string>",
"overridden": true
},
"degraded": true
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
A workspace API key (oc_…) or organization API key (oc_org_…). Workspace-scoped endpoints called with an organization key also need X-Workspace-Id.
Path Parameters
Response
The model view
What a hosted agent can run and what it runs now, derived from the LLM key granted to it.
The LLM provider of the granted key (anthropic, openai), or null when no key is granted.
Where the granted key lives (workspace or organization).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
True when the live model list could not be fetched and a static fallback is shown.