Dedicated
List Dedicated Endpoints
Discover your dedicated endpoints at /api/v1/dedicated/endpoints
GET
/
api
/
v1
/
dedicated
/
endpoints
List dedicated endpoints
curl --request GET \
--url https://api.morphllm.com/api/v1/dedicated/endpoints \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.morphllm.com/api/v1/dedicated/endpoints"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.morphllm.com/api/v1/dedicated/endpoints', 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.morphllm.com/api/v1/dedicated/endpoints",
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.morphllm.com/api/v1/dedicated/endpoints"
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.morphllm.com/api/v1/dedicated/endpoints")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.morphllm.com/api/v1/dedicated/endpoints")
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{
"endpoints": [
{
"id": "c204e8b1-9a3f-4f0e-8d72-5b6a1c9e3f10",
"state": "deploying",
"createdAt": "2026-10-13T17:02:11.000Z",
"readyAt": null,
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": null,
"servedModelName": null
},
{
"id": "7f3c9a12-4b8e-4d21-9c6a-2e5f8b1d0a47",
"state": "ready",
"createdAt": "2026-10-01T09:14:00.000Z",
"readyAt": "2026-10-01T10:52:37.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-7f3c9a124b8e.morphllm.com",
"servedModelName": "morph-dedicated-7f3c9a124b8e"
},
{
"id": "3e91d0c5-6b27-4a8f-b1e4-9f0c2d7a5b83",
"state": "canceled",
"createdAt": "2026-06-02T15:20:45.000Z",
"readyAt": "2026-06-02T16:48:09.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-3e91d0c56b27.morphllm.com",
"servedModelName": "morph-dedicated-3e91d0c56b27"
}
]
}{
"error": "Unauthorized"
}Overview
Lists every dedicated endpoint the key’s account or organization owns, newest first. Each item carriesendpointUrl and servedModelName, so discovery needs one call.
The list includes endpoints in every state, and ended endpoints are never removed. Route traffic only to items with state ready: endpointUrl stays set after an endpoint is canceled or suspended.
curl https://api.morphllm.com/api/v1/dedicated/endpoints \
-H "Authorization: Bearer $MORPH_API_KEY"
state means.Authorizations
Morph API key, passed as Authorization: Bearer sk-.... Create keys at https://www.morphllm.com/dashboard/api-keys.
Response
The endpoints, newest first.
Dedicated endpoints owned by the API key’s account or organization.
Every endpoint the key can see, newest first, in every state. Ended endpoints are never removed, so filter on state.
Show child attributes
Show child attributes
Example:
[
{
"id": "c204e8b1-9a3f-4f0e-8d72-5b6a1c9e3f10",
"state": "deploying",
"createdAt": "2026-10-13T17:02:11.000Z",
"readyAt": null,
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": null,
"servedModelName": null
},
{
"id": "7f3c9a12-4b8e-4d21-9c6a-2e5f8b1d0a47",
"state": "ready",
"createdAt": "2026-10-01T09:14:00.000Z",
"readyAt": "2026-10-01T10:52:37.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-7f3c9a124b8e.morphllm.com",
"servedModelName": "morph-dedicated-7f3c9a124b8e"
},
{
"id": "3e91d0c5-6b27-4a8f-b1e4-9f0c2d7a5b83",
"state": "canceled",
"createdAt": "2026-06-02T15:20:45.000Z",
"readyAt": "2026-06-02T16:48:09.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-3e91d0c56b27.morphllm.com",
"servedModelName": "morph-dedicated-3e91d0c56b27"
}
]
⌘I
List dedicated endpoints
curl --request GET \
--url https://api.morphllm.com/api/v1/dedicated/endpoints \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.morphllm.com/api/v1/dedicated/endpoints"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.morphllm.com/api/v1/dedicated/endpoints', 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.morphllm.com/api/v1/dedicated/endpoints",
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.morphllm.com/api/v1/dedicated/endpoints"
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.morphllm.com/api/v1/dedicated/endpoints")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.morphllm.com/api/v1/dedicated/endpoints")
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{
"endpoints": [
{
"id": "c204e8b1-9a3f-4f0e-8d72-5b6a1c9e3f10",
"state": "deploying",
"createdAt": "2026-10-13T17:02:11.000Z",
"readyAt": null,
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": null,
"servedModelName": null
},
{
"id": "7f3c9a12-4b8e-4d21-9c6a-2e5f8b1d0a47",
"state": "ready",
"createdAt": "2026-10-01T09:14:00.000Z",
"readyAt": "2026-10-01T10:52:37.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-7f3c9a124b8e.morphllm.com",
"servedModelName": "morph-dedicated-7f3c9a124b8e"
},
{
"id": "3e91d0c5-6b27-4a8f-b1e4-9f0c2d7a5b83",
"state": "canceled",
"createdAt": "2026-06-02T15:20:45.000Z",
"readyAt": "2026-06-02T16:48:09.000Z",
"modelId": "deepseek-v4-flash",
"modelDisplayName": "DeepSeek V4 Flash 0731",
"modelHardware": "B200",
"planName": "2× B200 Hourly",
"endpointUrl": "https://dedicated-3e91d0c56b27.morphllm.com",
"servedModelName": "morph-dedicated-3e91d0c56b27"
}
]
}{
"error": "Unauthorized"
}