Run an allowed Computer Agent tool
curl --request POST \
--url 'https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "<string>",
"args": {},
"action": "<string>",
"dryRun": true,
"sessionKey": "<string>"
}
'import requests
url = "https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token="
payload = {
"tool": "<string>",
"args": {},
"action": "<string>",
"dryRun": True,
"sessionKey": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tool: '<string>',
args: {},
action: '<string>',
dryRun: true,
sessionKey: '<string>'
})
};
fetch('https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=', 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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=",
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([
'tool' => '<string>',
'args' => [
],
'action' => '<string>',
'dryRun' => true,
'sessionKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token="
payload := strings.NewReader("{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyComputer Agents
Run an allowed Computer Agent tool
Runs one tool returned by the Computer Agent tool catalog and returns its result. Prefer a purpose-built endpoint when one is available.
POST
/
api
/
v2
/
computer
/
accounts
/
{targetAccountId}
/
tools
/
invoke
Run an allowed Computer Agent tool
curl --request POST \
--url 'https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "<string>",
"args": {},
"action": "<string>",
"dryRun": true,
"sessionKey": "<string>"
}
'import requests
url = "https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token="
payload = {
"tool": "<string>",
"args": {},
"action": "<string>",
"dryRun": True,
"sessionKey": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tool: '<string>',
args: {},
action: '<string>',
dryRun: true,
sessionKey: '<string>'
})
};
fetch('https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=', 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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=",
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([
'tool' => '<string>',
'args' => [
],
'action' => '<string>',
'dryRun' => true,
'sessionKey' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token="
payload := strings.NewReader("{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/computer/accounts/{targetAccountId}/tools/invoke?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"<string>\",\n \"args\": {},\n \"action\": \"<string>\",\n \"dryRun\": true,\n \"sessionKey\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Vida API Token
Path Parameters
Body
application/json
Tool name returned by the tool catalog.
Arguments accepted by the selected tool.
Optional action supported by the selected tool.
Ask the tool to validate or preview the operation without applying it.
Optional known session to continue for this Computer Agent.
Response
200
Successful response
⌘I