Integrations
List supported AI gateways
Lists the AI gateways CostGraph can collect usage from, with the scrape port and path, label selector, default namespace, metric name prefixes and tenancy model each one needs when you connect it.
GET
/
api
/
v1
/
integrations
/
ai-gateway
/
providers
List supported AI gateways
curl --request GET \
--url https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers \
--header 'Authorization: <api-key>'import requests
url = "https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers', 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.costgraph.ai/api/v1/integrations/ai-gateway/providers",
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: <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.costgraph.ai/api/v1/integrations/ai-gateway/providers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.costgraph.ai/api/v1/integrations/ai-gateway/providers")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"message": "some message",
"status": "success",
"data": [
{
"default_namespace": "<string>",
"docs_url": "<string>",
"label_selector": "<string>",
"metric_name_prefixes": [
"<string>"
],
"name": "<string>",
"scrape_path": "<string>",
"scrape_port": 123,
"slug": "<string>",
"tenancy": {
"config_hint": "<string>",
"controller_wide": true,
"native_label": "<string>",
"per_request": true,
"result_label": "<string>"
}
}
]
}{
"message": "some message",
"status": "error"
}Was this page helpful?
⌘I
List supported AI gateways
curl --request GET \
--url https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers \
--header 'Authorization: <api-key>'import requests
url = "https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers', 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.costgraph.ai/api/v1/integrations/ai-gateway/providers",
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: <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.costgraph.ai/api/v1/integrations/ai-gateway/providers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.costgraph.ai/api/v1/integrations/ai-gateway/providers")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.costgraph.ai/api/v1/integrations/ai-gateway/providers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"message": "some message",
"status": "success",
"data": [
{
"default_namespace": "<string>",
"docs_url": "<string>",
"label_selector": "<string>",
"metric_name_prefixes": [
"<string>"
],
"name": "<string>",
"scrape_path": "<string>",
"scrape_port": 123,
"slug": "<string>",
"tenancy": {
"config_hint": "<string>",
"controller_wide": true,
"native_label": "<string>",
"per_request": true,
"result_label": "<string>"
}
}
]
}{
"message": "some message",
"status": "error"
}