List Templates
curl --request GET \
--url https://api.novita.ai/gpu-instance/openapi/v1/templates \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.novita.ai/gpu-instance/openapi/v1/templates"
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'}
};
fetch('https://api.novita.ai/gpu-instance/openapi/v1/templates', 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.novita.ai/gpu-instance/openapi/v1/templates",
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: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.novita.ai/gpu-instance/openapi/v1/templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.novita.ai/gpu-instance/openapi/v1/templates")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/gpu-instance/openapi/v1/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"template": [
{
"Id": "<string>",
"name": "<string>",
"readme": "<string>",
"type": "<string>",
"channel": "<string>",
"image": "<string>",
"imageAuth": "<string>",
"startCommand": "<string>",
"entrypoint": "<string>",
"rootfsSize": 123,
"ports": [
{
"type": "<string>",
"ports": {}
}
],
"envs": [
{
"key": "<string>",
"value": "<string>"
}
],
"tools": [
{
"name": "<string>",
"describe": "<string>",
"port": 123,
"type": "<string>"
}
],
"createdAt": "<string>",
"recommendCards": [
{
"gpuSpecId": "<string>",
"cardNum": "<string>"
}
],
"minCudaVersion": "<string>"
}
],
"total": 123
}Template
List Templates
GET
/
gpu-instance
/
openapi
/
v1
/
templates
List Templates
curl --request GET \
--url https://api.novita.ai/gpu-instance/openapi/v1/templates \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.novita.ai/gpu-instance/openapi/v1/templates"
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'}
};
fetch('https://api.novita.ai/gpu-instance/openapi/v1/templates', 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.novita.ai/gpu-instance/openapi/v1/templates",
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: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.novita.ai/gpu-instance/openapi/v1/templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.novita.ai/gpu-instance/openapi/v1/templates")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/gpu-instance/openapi/v1/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"template": [
{
"Id": "<string>",
"name": "<string>",
"readme": "<string>",
"type": "<string>",
"channel": "<string>",
"image": "<string>",
"imageAuth": "<string>",
"startCommand": "<string>",
"entrypoint": "<string>",
"rootfsSize": 123,
"ports": [
{
"type": "<string>",
"ports": {}
}
],
"envs": [
{
"key": "<string>",
"value": "<string>"
}
],
"tools": [
{
"name": "<string>",
"describe": "<string>",
"port": 123,
"type": "<string>"
}
],
"createdAt": "<string>",
"recommendCards": [
{
"gpuSpecId": "<string>",
"cardNum": "<string>"
}
],
"minCudaVersion": "<string>"
}
],
"total": 123
}Request Headers
Enum:
application/jsonBearer authentication format, for example: Bearer {{API Key}}.
Query Parameters
Page size. Integer, value >= 0.
Page number. Integer, value >= 0.
Filter the templates by name (fuzzy match). String, length limit: 1-255 characters.
Filter the templates by type.
Filter the templates by channel.
Enum:
Enum:
official, community, privateTemplate visibility scope. Values:
Note:
true, false.Note:
- Query official/community templates: set to
false - Query private templates: set to
true
Response
Show properties
Show properties
Template ID.
Template name.
Template README content (in Markdown format).
Template type.Enum:
instanceTemplate channel.Enum:
official, community, privateDocker image address for instance startup.
Image repository authentication ID for private images.
Startup command for the instance.
Instance startup entrypoint.
Rootfs storage (GB).
Template creation timestamp (Unix seconds).
Minimum required CUDA version, e.g. 11.8, 12.4.
Total number of templates.
Example
Requestcurl --request GET \
--url 'https://api.novita.ai/gpu-instance/openapi/v1/templates' \
--header 'Authorization: Bearer {{API Key}}'
{
"template": [
{
"Id": "100",
"name": "name",
"readme": "```\nreadme\n```\n# uiohiu\n68686",
"type": "instance",
"channel": "official",
"image": "image",
"imageAuth": "",
"startCommand": "startCommand",
"entrypoint": "",
"rootfsSize": 10,
"ports": [
{
"type": "tcp",
"ports": [8080, 8090]
},
{
"type": "http",
"ports": [6000, 60001]
}
],
"envs": [
{
"key": "testkey",
"value": "123"
}
],
"tools": [
{
"name": "Jupyter",
"describe": "Start Jupyter Notebook",
"port": 8888,
"type": "http"
}
],
"createdAt": "1711995567",
"recommendCards": [
{
"gpuSpecId": "4090.18c.60g",
"cardNum": "2"
}
],
"minCudaVersion": "11.8"
}
],
"total": 10
}
Last modified on December 24, 2025
Was this page helpful?
⌘I