Start Remote Rclone Copy
curl --request POST \
--url https://console.vast.ai/api/v0/commands/rclone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"instance_id": "<string>",
"src": "<string>",
"dst": "<string>",
"selected": "<string>",
"transfer": "<string>",
"flags": [
"<string>"
]
}
'import requests
url = "https://console.vast.ai/api/v0/commands/rclone"
payload = {
"instance_id": "<string>",
"src": "<string>",
"dst": "<string>",
"selected": "<string>",
"transfer": "<string>",
"flags": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
instance_id: '<string>',
src: '<string>',
dst: '<string>',
selected: '<string>',
transfer: '<string>',
flags: ['<string>']
})
};
fetch('https://console.vast.ai/api/v0/commands/rclone', 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/rclone",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'instance_id' => '<string>',
'src' => '<string>',
'dst' => '<string>',
'selected' => '<string>',
'transfer' => '<string>',
'flags' => [
'<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/rclone"
payload := strings.NewReader("{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://console.vast.ai/api/v0/commands/rclone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/commands/rclone")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"msg": "Sending Command... Please Wait",
"result_url": "https://s3.amazonaws.com/bucket/instance_logs/abc.log"
}{
"error": "<string>",
"msg": "<string>"
}{
"error": "<string>",
"msg": "<string>"
}Instances
Start Remote Rclone Copy
Initiates a cloud storage copy via rclone by sending a task to the host machine.
POST
/
api
/
v0
/
commands
/
rclone
Start Remote Rclone Copy
curl --request POST \
--url https://console.vast.ai/api/v0/commands/rclone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"instance_id": "<string>",
"src": "<string>",
"dst": "<string>",
"selected": "<string>",
"transfer": "<string>",
"flags": [
"<string>"
]
}
'import requests
url = "https://console.vast.ai/api/v0/commands/rclone"
payload = {
"instance_id": "<string>",
"src": "<string>",
"dst": "<string>",
"selected": "<string>",
"transfer": "<string>",
"flags": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
instance_id: '<string>',
src: '<string>',
dst: '<string>',
selected: '<string>',
transfer: '<string>',
flags: ['<string>']
})
};
fetch('https://console.vast.ai/api/v0/commands/rclone', 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/rclone",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'instance_id' => '<string>',
'src' => '<string>',
'dst' => '<string>',
'selected' => '<string>',
'transfer' => '<string>',
'flags' => [
'<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/rclone"
payload := strings.NewReader("{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://console.vast.ai/api/v0/commands/rclone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.vast.ai/api/v0/commands/rclone")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"instance_id\": \"<string>\",\n \"src\": \"<string>\",\n \"dst\": \"<string>\",\n \"selected\": \"<string>\",\n \"transfer\": \"<string>\",\n \"flags\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"msg": "Sending Command... Please Wait",
"result_url": "https://s3.amazonaws.com/bucket/instance_logs/abc.log"
}{
"error": "<string>",
"msg": "<string>"
}{
"error": "<string>",
"msg": "<string>"
}Authorizations
API key must be provided in the Authorization header
Body
application/json
ID of the instance.
Source path for the copy operation.
Destination path for the copy operation.
ID of the cloud connection.
Type of transfer (e.g., "Instance To Cloud" or "Cloud To Instance").
Additional flags for the operation.
Response
Returns the result of the cloud copy execution. A success response can also mean controller delivery is uncertain after a read timeout or unparseable acknowledgement; the one-time handoff remains active so the provider host can complete it.
⌘I