List Machine GPU Offers
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,
"hidden_listing": false,
"machines": [
12345,
67890
]
}
'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,
"hidden_listing": False,
"machines": [12345, 67890]
}
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,
hidden_listing: false,
machines: [12345, 67890]
})
};
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,
'hidden_listing' => false,
'machines' => [
12345,
67890
]
]),
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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\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://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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\n ]\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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"you_sent": {
"machine": 12345,
"price": 0.25
},
"results": [
{
"success": true
}
]
}{
"error": "<string>",
"msg": "<string>"
}{
"error": "<string>",
"msg": "<string>"
}Machines
List Machine GPU Offers
Creates or updates ask (offer) contracts for one or more of the host’s machines, making GPUs available for rent.
PUT
/
api
/
v0
/
machines
/
create_asks
/
List Machine GPU Offers
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,
"hidden_listing": false,
"machines": [
12345,
67890
]
}
'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,
"hidden_listing": False,
"machines": [12345, 67890]
}
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,
hidden_listing: false,
machines: [12345, 67890]
})
};
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,
'hidden_listing' => false,
'machines' => [
12345,
67890
]
]),
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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\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://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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\n ]\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 \"hidden_listing\": false,\n \"machines\": [\n 12345,\n 67890\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"you_sent": {
"machine": 12345,
"price": 0.25
},
"results": [
{
"success": true
}
]
}{
"error": "<string>",
"msg": "<string>"
}{
"error": "<string>",
"msg": "<string>"
}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
When true the offers are created but not shown publicly in search results.
Example:
false
List of machine IDs to list simultaneously; overrides the singular machine field when provided.
Example:
[12345, 67890]
⌘I