Create
curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"allowedModels": [],
"monthlyBudgetUsd": 50000.5,
"timeoutMs": 60500,
"maxRetries": 1,
"redactPrompts": true
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
payload = {
"name": "<string>",
"allowedModels": [],
"monthlyBudgetUsd": 50000.5,
"timeoutMs": 60500,
"maxRetries": 1,
"redactPrompts": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
allowedModels: [],
monthlyBudgetUsd: 50000.5,
timeoutMs: 60500,
maxRetries: 1,
redactPrompts: true
})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'allowedModels' => [
],
'monthlyBudgetUsd' => 50000.5,
'timeoutMs' => 60500,
'maxRetries' => 1,
'redactPrompts' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}")
.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::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}"
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"
}aiGateways
Create
Create a budgeted AI gateway in one project environment.
POST
/
v1
/
orgs
/
{orgId}
/
projects
/
{projectId}
/
ai-gateways
Create
curl --request POST \
--url https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"allowedModels": [],
"monthlyBudgetUsd": 50000.5,
"timeoutMs": 60500,
"maxRetries": 1,
"redactPrompts": true
}
'import requests
url = "https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
payload = {
"name": "<string>",
"allowedModels": [],
"monthlyBudgetUsd": 50000.5,
"timeoutMs": 60500,
"maxRetries": 1,
"redactPrompts": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
allowedModels: [],
monthlyBudgetUsd: 50000.5,
timeoutMs: 60500,
maxRetries: 1,
redactPrompts: true
})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'allowedModels' => [
],
'monthlyBudgetUsd' => 50000.5,
'timeoutMs' => 60500,
'maxRetries' => 1,
'redactPrompts' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.korve.dev/v1/orgs/{orgId}/projects/{projectId}/ai-gateways")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}")
.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::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"allowedModels\": [],\n \"monthlyBudgetUsd\": 50000.5,\n \"timeoutMs\": 60500,\n \"maxRetries\": 1,\n \"redactPrompts\": true\n}"
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"
}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. The gateway is created in the addressed environment.
Pattern:
^[a-z][a-z0-9-]{0,38}$Body
application/json
Pattern:
^[a-z][a-z0-9-]{1,61}$Required array length:
1 - 3 elementsAvailable options:
korve/fast, korve/balanced, korve/reasoning Required range:
1 <= x <= 100000Required range:
1000 <= x <= 120000Required range:
0 <= x <= 3Response
AI gateway created.
Available options:
korve/fast, korve/balanced, korve/reasoning