curl --request PUT \
--url https://api.blaxel.ai/v0/models/{modelName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"name": "my-resource",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {}
},
"spec": {
"enabled": true,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": [
"<string>"
],
"policies": [
"<string>"
],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": false
}
}
'import requests
url = "https://api.blaxel.ai/v0/models/{modelName}"
payload = {
"metadata": {
"name": "my-resource",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {}
},
"spec": {
"enabled": True,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": ["<string>"],
"policies": ["<string>"],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": False
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
name: 'my-resource',
displayName: 'My Resource',
externalId: 'my-session-123',
labels: {}
},
spec: {
enabled: true,
flavors: [{name: 't4', type: 'cpu'}],
integrationConnections: ['<string>'],
policies: ['<string>'],
runtime: {
endpointName: '<string>',
model: 'gpt-4.1',
organization: 'org-abc123',
type: 'openai'
},
sandbox: false
}
})
};
fetch('https://api.blaxel.ai/v0/models/{modelName}', 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.blaxel.ai/v0/models/{modelName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'name' => 'my-resource',
'displayName' => 'My Resource',
'externalId' => 'my-session-123',
'labels' => [
]
],
'spec' => [
'enabled' => true,
'flavors' => [
[
'name' => 't4',
'type' => 'cpu'
]
],
'integrationConnections' => [
'<string>'
],
'policies' => [
'<string>'
],
'runtime' => [
'endpointName' => '<string>',
'model' => 'gpt-4.1',
'organization' => 'org-abc123',
'type' => 'openai'
],
'sandbox' => false
]
]),
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.blaxel.ai/v0/models/{modelName}"
payload := strings.NewReader("{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.blaxel.ai/v0/models/{modelName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blaxel.ai/v0/models/{modelName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"name": "my-resource",
"createdAt": "<string>",
"updatedAt": "<string>",
"createdBy": "<string>",
"updatedBy": "<string>",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {},
"plan": "<string>",
"url": "<string>",
"workspace": "<string>"
},
"spec": {
"enabled": true,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": [
"<string>"
],
"policies": [
"<string>"
],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": false
},
"events": [
{
"canaryRevision": "<string>",
"message": "Deployment successful",
"revision": "rev-abc123",
"status": "DEPLOYED",
"time": "2025-01-15T10:30:00Z",
"type": "deployment"
}
]
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}Update model endpoint
Updates a model gateway endpoint’s configuration. Changes to provider settings or integration connection take effect immediately.
curl --request PUT \
--url https://api.blaxel.ai/v0/models/{modelName} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"name": "my-resource",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {}
},
"spec": {
"enabled": true,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": [
"<string>"
],
"policies": [
"<string>"
],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": false
}
}
'import requests
url = "https://api.blaxel.ai/v0/models/{modelName}"
payload = {
"metadata": {
"name": "my-resource",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {}
},
"spec": {
"enabled": True,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": ["<string>"],
"policies": ["<string>"],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": False
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
name: 'my-resource',
displayName: 'My Resource',
externalId: 'my-session-123',
labels: {}
},
spec: {
enabled: true,
flavors: [{name: 't4', type: 'cpu'}],
integrationConnections: ['<string>'],
policies: ['<string>'],
runtime: {
endpointName: '<string>',
model: 'gpt-4.1',
organization: 'org-abc123',
type: 'openai'
},
sandbox: false
}
})
};
fetch('https://api.blaxel.ai/v0/models/{modelName}', 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.blaxel.ai/v0/models/{modelName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'name' => 'my-resource',
'displayName' => 'My Resource',
'externalId' => 'my-session-123',
'labels' => [
]
],
'spec' => [
'enabled' => true,
'flavors' => [
[
'name' => 't4',
'type' => 'cpu'
]
],
'integrationConnections' => [
'<string>'
],
'policies' => [
'<string>'
],
'runtime' => [
'endpointName' => '<string>',
'model' => 'gpt-4.1',
'organization' => 'org-abc123',
'type' => 'openai'
],
'sandbox' => false
]
]),
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.blaxel.ai/v0/models/{modelName}"
payload := strings.NewReader("{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.blaxel.ai/v0/models/{modelName}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.blaxel.ai/v0/models/{modelName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"name\": \"my-resource\",\n \"displayName\": \"My Resource\",\n \"externalId\": \"my-session-123\",\n \"labels\": {}\n },\n \"spec\": {\n \"enabled\": true,\n \"flavors\": [\n {\n \"name\": \"t4\",\n \"type\": \"cpu\"\n }\n ],\n \"integrationConnections\": [\n \"<string>\"\n ],\n \"policies\": [\n \"<string>\"\n ],\n \"runtime\": {\n \"endpointName\": \"<string>\",\n \"model\": \"gpt-4.1\",\n \"organization\": \"org-abc123\",\n \"type\": \"openai\"\n },\n \"sandbox\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"metadata": {
"name": "my-resource",
"createdAt": "<string>",
"updatedAt": "<string>",
"createdBy": "<string>",
"updatedBy": "<string>",
"displayName": "My Resource",
"externalId": "my-session-123",
"labels": {},
"plan": "<string>",
"url": "<string>",
"workspace": "<string>"
},
"spec": {
"enabled": true,
"flavors": [
{
"name": "t4",
"type": "cpu"
}
],
"integrationConnections": [
"<string>"
],
"policies": [
"<string>"
],
"runtime": {
"endpointName": "<string>",
"model": "gpt-4.1",
"organization": "org-abc123",
"type": "openai"
},
"sandbox": false
},
"events": [
{
"canaryRevision": "<string>",
"message": "Deployment successful",
"revision": "rev-abc123",
"status": "DEPLOYED",
"time": "2025-01-15T10:30:00Z",
"type": "deployment"
}
]
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}{
"error": "Resource already exists",
"code": 409,
"message": "Invalid request body"
}Authorizations
OAuth2 authentication with JWT tokens
Path Parameters
Unique name identifier of the model endpoint
Body
Gateway endpoint to external LLM provider APIs (OpenAI, Anthropic, etc.) with unified access control, credentials management, and usage tracking.
Response
successful operation
Gateway endpoint to external LLM provider APIs (OpenAI, Anthropic, etc.) with unified access control, credentials management, and usage tracking.
Common metadata fields shared by all Blaxel resources including name, labels, timestamps, and ownership information
Show child attributes
Show child attributes
Configuration for a model gateway endpoint including provider type, credentials, and access policies
Show child attributes
Show child attributes
Events happening on a resource deployed on Blaxel
Show child attributes
Show child attributes
Deployment status of a resource deployed on Blaxel
DELETING, TERMINATED, FAILED, DEACTIVATED, DEACTIVATING, UPLOADING, BUILDING, DEPLOYING, DEPLOYED, BUILT Was this page helpful?
