transfer credit
curl --request PUT \
--url https://console.vast.ai/api/v0/commands/transfer_credit/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient": "user@example.com",
"amount": 100,
"client_id": "me",
"apikey_id": "<string>"
}
'import requests
url = "https://console.vast.ai/api/v0/commands/transfer_credit/"
payload = {
"recipient": "user@example.com",
"amount": 100,
"client_id": "me",
"apikey_id": "<string>"
}
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({
recipient: 'user@example.com',
amount: 100,
client_id: 'me',
apikey_id: '<string>'
})
};
fetch('https://console.vast.ai/api/v0/commands/transfer_credit/', 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/commands/transfer_credit/",
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([
'recipient' => 'user@example.com',
'amount' => 100,
'client_id' => 'me',
'apikey_id' => '<string>'
]),
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/commands/transfer_credit/"
payload := strings.NewReader("{\n \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\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/commands/transfer_credit/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/commands/transfer_credit/")
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 \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"success": false,
"msg": "Invalid amount"
}{
"success": false,
"error": "<string>",
"msg": "<string>"
}{
"detail": "API requests too frequent endpoint threshold=2.5"
}Accounts
transfer credit
Transfers specified amount of credits from the authenticated user’s account to another user’s account.
The recipient can be specified by either email address or user ID.
CLI Usage: vastai transfer credit <recipient_email> <amount>
PUT
/
api
/
v0
/
commands
/
transfer_credit
/
transfer credit
curl --request PUT \
--url https://console.vast.ai/api/v0/commands/transfer_credit/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"recipient": "user@example.com",
"amount": 100,
"client_id": "me",
"apikey_id": "<string>"
}
'import requests
url = "https://console.vast.ai/api/v0/commands/transfer_credit/"
payload = {
"recipient": "user@example.com",
"amount": 100,
"client_id": "me",
"apikey_id": "<string>"
}
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({
recipient: 'user@example.com',
amount: 100,
client_id: 'me',
apikey_id: '<string>'
})
};
fetch('https://console.vast.ai/api/v0/commands/transfer_credit/', 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/commands/transfer_credit/",
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([
'recipient' => 'user@example.com',
'amount' => 100,
'client_id' => 'me',
'apikey_id' => '<string>'
]),
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/commands/transfer_credit/"
payload := strings.NewReader("{\n \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\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/commands/transfer_credit/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/commands/transfer_credit/")
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 \"recipient\": \"user@example.com\",\n \"amount\": 100,\n \"client_id\": \"me\",\n \"apikey_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"success": false,
"msg": "Invalid amount"
}{
"success": false,
"error": "<string>",
"msg": "<string>"
}{
"detail": "API requests too frequent endpoint threshold=2.5"
}Authorizations
API key must be provided in the Authorization header
Body
application/json
Email address or user ID of the recipient
Example:
"user@example.com"
Amount of credits to transfer (must be positive)
Required range:
x >= 0.01Example:
100
Client identifier (usually "me")
Example:
"me"
Optional API key identifier for audit logging
Response
Transfer completed successfully
Example:
true
⌘I