curl --request GET \
--url https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog', 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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog",
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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog"
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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog")
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{
"capabilitySummary": {
"lastReportedAt": "2023-11-07T05:31:56Z",
"reportingProcesses": 123
},
"entries": [
{
"channel": "MCP_SERVER_CATALOG_CHANNEL_UNSPECIFIED",
"credentialKind": "EDGE_INFERENCE_CATALOG_CREDENTIAL_KIND_UNSPECIFIED",
"displayName": "<string>",
"iconKey": "<string>",
"id": "<string>",
"secretContentType": "<string>",
"variants": [
{
"availabilityWarning": "<string>",
"credentialRecipe": "<string>",
"credentialSource": "EDGE_INFERENCE_CREDENTIAL_SOURCE_UNSPECIFIED",
"defaultSupportedReasoningEfforts": [
"<string>"
],
"destination": "<string>",
"displayName": "<string>",
"id": "<string>",
"modelHint": "<string>",
"modelIdGrammar": "<string>",
"nativeFormat": "EDGE_INFERENCE_NATIVE_FORMAT_UNSPECIFIED",
"providerProfile": "<string>",
"suggestedModels": [
{
"displayName": "<string>",
"id": "<string>",
"supportedReasoningEfforts": [
"<string>"
]
}
],
"unavailable": true,
"unavailableReason": "<string>",
"upstreamPath": "<string>"
}
]
}
],
"families": [
{
"family": "<string>",
"models": [
{
"contextWindowTokens": 123,
"displayName": "<string>",
"modelId": "<string>",
"routeId": "<string>",
"serveOptions": [
{
"catalogEntryId": "<string>",
"catalogVariantId": "<string>",
"nativeFormat": "EDGE_INFERENCE_NATIVE_FORMAT_UNSPECIFIED",
"region": "<string>",
"upstreamModelId": "<string>"
}
]
}
]
}
],
"tiers": [
{
"aliasRouteId": "<string>",
"modelDisplayName": "<string>",
"modelId": "<string>",
"routeId": "<string>",
"tier": "EDGE_INFERENCE_TIER_UNSPECIFIED"
}
]
}List Inference Catalog
ListInferenceCatalog returns the providers, variants and suggested models that inference routes can be built from, C1’s registered models by family, and the model each C1 tier uses for the caller’s tenant. The Edge feature is required.
curl --request GET \
--url https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog', 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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog",
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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog"
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://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/edges/inference/catalog")
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{
"capabilitySummary": {
"lastReportedAt": "2023-11-07T05:31:56Z",
"reportingProcesses": 123
},
"entries": [
{
"channel": "MCP_SERVER_CATALOG_CHANNEL_UNSPECIFIED",
"credentialKind": "EDGE_INFERENCE_CATALOG_CREDENTIAL_KIND_UNSPECIFIED",
"displayName": "<string>",
"iconKey": "<string>",
"id": "<string>",
"secretContentType": "<string>",
"variants": [
{
"availabilityWarning": "<string>",
"credentialRecipe": "<string>",
"credentialSource": "EDGE_INFERENCE_CREDENTIAL_SOURCE_UNSPECIFIED",
"defaultSupportedReasoningEfforts": [
"<string>"
],
"destination": "<string>",
"displayName": "<string>",
"id": "<string>",
"modelHint": "<string>",
"modelIdGrammar": "<string>",
"nativeFormat": "EDGE_INFERENCE_NATIVE_FORMAT_UNSPECIFIED",
"providerProfile": "<string>",
"suggestedModels": [
{
"displayName": "<string>",
"id": "<string>",
"supportedReasoningEfforts": [
"<string>"
]
}
],
"unavailable": true,
"unavailableReason": "<string>",
"upstreamPath": "<string>"
}
]
}
],
"families": [
{
"family": "<string>",
"models": [
{
"contextWindowTokens": 123,
"displayName": "<string>",
"modelId": "<string>",
"routeId": "<string>",
"serveOptions": [
{
"catalogEntryId": "<string>",
"catalogVariantId": "<string>",
"nativeFormat": "EDGE_INFERENCE_NATIVE_FORMAT_UNSPECIFIED",
"region": "<string>",
"upstreamModelId": "<string>"
}
]
}
]
}
],
"tiers": [
{
"aliasRouteId": "<string>",
"modelDisplayName": "<string>",
"modelId": "<string>",
"routeId": "<string>",
"tier": "EDGE_INFERENCE_TIER_UNSPECIFIED"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
This API uses OAuth2 with the Client Credential flow. Client Credentials must be sent in the BODY, not the headers. For an example of how to implement this, refer to the c1TokenSource.Token() function.
Response
EdgeServiceListInferenceCatalogResponse contains every catalog entry.
EdgeServiceListInferenceCatalogResponse contains every catalog entry.
EdgeCapabilitySummary describes the capability reports of a tenant's connected Edge processes.
Show child attributes
Show child attributes
The entries field.
Show child attributes
Show child attributes
C1's registered models grouped by family, with the ways an Edge can serve each.
Show child attributes
Show child attributes
The model each C1 tier currently uses for the caller's tenant. A tier with no model is left out.
Show child attributes
Show child attributes
Was this page helpful?