List
curl --request GET \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways",
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
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[
{
"id": "<string>",
"name": "<string>",
"environment": "<string>",
"allowedModels": [
"korve/fast"
],
"monthlyBudgetUsd": 123,
"timeoutMs": 123,
"maxRetries": 123,
"redactPrompts": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"usage": {
"month": "2023-11-07T05:31:56Z",
"requests": 1,
"inputTokens": 1,
"outputTokens": 1,
"spentUsd": 1,
"budgetUsd": 1,
"remainingUsd": 1
}
}
]aiGateways
List
List AI gateways in one project environment.
GET
/
v1
/
orgs
/
{orgId}
/
projects
/
{projectId}
/
ai-gateways
List
curl --request GET \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways', 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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways",
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
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[
{
"id": "<string>",
"name": "<string>",
"environment": "<string>",
"allowedModels": [
"korve/fast"
],
"monthlyBudgetUsd": 123,
"timeoutMs": 123,
"maxRetries": 123,
"redactPrompts": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"usage": {
"month": "2023-11-07T05:31:56Z",
"requests": 1,
"inputTokens": 1,
"outputTokens": 1,
"spentUsd": 1,
"budgetUsd": 1,
"remainingUsd": 1
}
}
]Authorizations
apiKeysession
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The organization's id (UUID) or slug — either form is accepted.
The project's id (UUID) or slug — either form is accepted.
Query Parameters
Environment slug to scope this operation to. Defaults to "production". An environment that does not exist on the project answers 404. Gateways are isolated to the addressed environment.
Pattern:
^[a-z][a-z0-9-]{0,38}$Response
200 - application/json
AI gateways with batched current-month usage.
Available options:
korve/fast, korve/balanced, korve/reasoning Show child attributes
Show child attributes