Update Template
curl --request PUT \
--url https://console.vast.ai/api/v0/template/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"hash_id": "5915f1dc1ce881defb572015eb9d8178",
"desc": "Updated description",
"recommended_disk_space": 16
}
'import requests
url = "https://console.vast.ai/api/v0/template/"
payload = {
"hash_id": "5915f1dc1ce881defb572015eb9d8178",
"desc": "Updated description",
"recommended_disk_space": 16
}
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({
hash_id: '5915f1dc1ce881defb572015eb9d8178',
desc: 'Updated description',
recommended_disk_space: 16
})
};
fetch('https://console.vast.ai/api/v0/template/', 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://console.vast.ai/api/v0/template/",
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([
'hash_id' => '5915f1dc1ce881defb572015eb9d8178',
'desc' => 'Updated description',
'recommended_disk_space' => 16
]),
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://console.vast.ai/api/v0/template/"
payload := strings.NewReader("{\n \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\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://console.vast.ai/api/v0/template/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/template/")
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 \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"hash_id": "<string>",
"msg": "<string>",
"template": {}
}{
"error": "<string>",
"msg": "<string>"
}Templates
Update Template
Updates an existing template identified by hash_id; if other users share the template, a new version is created to preserve the original.
PUT
/
api
/
v0
/
template
/
Update Template
curl --request PUT \
--url https://console.vast.ai/api/v0/template/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"hash_id": "5915f1dc1ce881defb572015eb9d8178",
"desc": "Updated description",
"recommended_disk_space": 16
}
'import requests
url = "https://console.vast.ai/api/v0/template/"
payload = {
"hash_id": "5915f1dc1ce881defb572015eb9d8178",
"desc": "Updated description",
"recommended_disk_space": 16
}
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({
hash_id: '5915f1dc1ce881defb572015eb9d8178',
desc: 'Updated description',
recommended_disk_space: 16
})
};
fetch('https://console.vast.ai/api/v0/template/', 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://console.vast.ai/api/v0/template/",
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([
'hash_id' => '5915f1dc1ce881defb572015eb9d8178',
'desc' => 'Updated description',
'recommended_disk_space' => 16
]),
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://console.vast.ai/api/v0/template/"
payload := strings.NewReader("{\n \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\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://console.vast.ai/api/v0/template/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/template/")
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 \"hash_id\": \"5915f1dc1ce881defb572015eb9d8178\",\n \"desc\": \"Updated description\",\n \"recommended_disk_space\": 16\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"hash_id": "<string>",
"msg": "<string>",
"template": {}
}{
"error": "<string>",
"msg": "<string>"
}Authorizations
API key must be provided in the Authorization header
Body
application/json
Hash ID of the template to edit. Required for identifying which template to update.
Name of the template
Docker image path
Short description of the template
Recommended disk space in GB
Template object whose hash_id is used as a fallback to identify the template to update when no top-level hash_id is provided.
⌘I