list machine
curl --request PUT \
--url https://console.vast.ai/api/v0/machines/create_asks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"machine": 123,
"price_gpu": 123,
"price_disk": 123,
"price_inetu": 123,
"price_inetd": 123,
"price_min_bid": 123,
"min_chunk": 1,
"end_date": 123,
"credit_discount_max": 123
}
'import requests
url = "https://console.vast.ai/api/v0/machines/create_asks"
payload = {
"machine": 123,
"price_gpu": 123,
"price_disk": 123,
"price_inetu": 123,
"price_inetd": 123,
"price_min_bid": 123,
"min_chunk": 1,
"end_date": 123,
"credit_discount_max": 123
}
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({
machine: 123,
price_gpu: 123,
price_disk: 123,
price_inetu: 123,
price_inetd: 123,
price_min_bid: 123,
min_chunk: 1,
end_date: 123,
credit_discount_max: 123
})
};
fetch('https://console.vast.ai/api/v0/machines/create_asks', 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/machines/create_asks",
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([
'machine' => 123,
'price_gpu' => 123,
'price_disk' => 123,
'price_inetu' => 123,
'price_inetd' => 123,
'price_min_bid' => 123,
'min_chunk' => 1,
'end_date' => 123,
'credit_discount_max' => 123
]),
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/machines/create_asks"
payload := strings.NewReader("{\n \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\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/machines/create_asks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/machines/create_asks")
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 \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"extended": 2
}{
"error": "invalid_args",
"msg": "Invalid machine id or parameters"
}{
"error": "not_authorized",
"msg": "Only machine owner can create ask contracts"
}Machines
list machine
Creates or updates ask contracts for a machine to list it for rent on the vast.ai platform. Allows setting pricing, minimum GPU requirements, end date and discount rates.
CLI Usage: vastai list machine <machine_id> [options]
PUT
/
api
/
v0
/
machines
/
create_asks
list machine
curl --request PUT \
--url https://console.vast.ai/api/v0/machines/create_asks \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"machine": 123,
"price_gpu": 123,
"price_disk": 123,
"price_inetu": 123,
"price_inetd": 123,
"price_min_bid": 123,
"min_chunk": 1,
"end_date": 123,
"credit_discount_max": 123
}
'import requests
url = "https://console.vast.ai/api/v0/machines/create_asks"
payload = {
"machine": 123,
"price_gpu": 123,
"price_disk": 123,
"price_inetu": 123,
"price_inetd": 123,
"price_min_bid": 123,
"min_chunk": 1,
"end_date": 123,
"credit_discount_max": 123
}
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({
machine: 123,
price_gpu: 123,
price_disk: 123,
price_inetu: 123,
price_inetd: 123,
price_min_bid: 123,
min_chunk: 1,
end_date: 123,
credit_discount_max: 123
})
};
fetch('https://console.vast.ai/api/v0/machines/create_asks', 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/machines/create_asks",
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([
'machine' => 123,
'price_gpu' => 123,
'price_disk' => 123,
'price_inetu' => 123,
'price_inetd' => 123,
'price_min_bid' => 123,
'min_chunk' => 1,
'end_date' => 123,
'credit_discount_max' => 123
]),
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/machines/create_asks"
payload := strings.NewReader("{\n \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\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/machines/create_asks")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/machines/create_asks")
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 \"machine\": 123,\n \"price_gpu\": 123,\n \"price_disk\": 123,\n \"price_inetu\": 123,\n \"price_inetd\": 123,\n \"price_min_bid\": 123,\n \"min_chunk\": 1,\n \"end_date\": 123,\n \"credit_discount_max\": 123\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"extended": 2
}{
"error": "invalid_args",
"msg": "Invalid machine id or parameters"
}{
"error": "not_authorized",
"msg": "Only machine owner can create ask contracts"
}Authorizations
API key must be provided in the Authorization header
Body
application/json
ID of the machine to list
Price per GPU per hour
Price per GB of disk storage
Price per GB of upload bandwidth
Price per GB of download bandwidth
Minimum bid price allowed
Minimum number of GPUs that must be rented together
Unix timestamp for when the listing expires
Maximum discount rate allowed for prepaid credits
⌘I