curl --request POST \
--url 'https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?token=' \
--header 'Content-Type: application/json' \
--data '{
"app": {}
}'import requests
url = "https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?token="
payload = { "app": {} }
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({app: {}})
};
fetch('https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?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/apps/{appId}/{appVersion}?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([
'app' => [
]
]),
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/apps/{appId}/{appVersion}?token="
payload := strings.NewReader("{\n \"app\": {}\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/apps/{appId}/{appVersion}?token=")
.header("Content-Type", "application/json")
.body("{\n \"app\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?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 \"app\": {}\n}"
response = http.request(request)
puts response.read_body{
"app": {
"appId": "<string>",
"version": "<string>",
"title": "<string>",
"description": "<string>",
"installed": true,
"active": true,
"dependencies": {}
},
"success": true
}Install agent app
Installs the selected Vader app for the Computer Agent account. Read the app manifest first and when its dependencies require configuration or authentication values, send that complete app manifest with the required values filled in. Omit app when the catalog manifest needs no changes. After installation, verify the returned active state before enabling its functions in an Agent configuration. Do not send an empty object as app because Vader treats app as a replacement manifest.
curl --request POST \
--url 'https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?token=' \
--header 'Content-Type: application/json' \
--data '{
"app": {}
}'import requests
url = "https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?token="
payload = { "app": {} }
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({app: {}})
};
fetch('https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?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/apps/{appId}/{appVersion}?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([
'app' => [
]
]),
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/apps/{appId}/{appVersion}?token="
payload := strings.NewReader("{\n \"app\": {}\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/apps/{appId}/{appVersion}?token=")
.header("Content-Type", "application/json")
.body("{\n \"app\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/apps/{appId}/{appVersion}?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 \"app\": {}\n}"
response = http.request(request)
puts response.read_body{
"app": {
"appId": "<string>",
"version": "<string>",
"title": "<string>",
"description": "<string>",
"installed": true,
"active": true,
"dependencies": {}
},
"success": true
}Authorizations
Vida API Token
Path Parameters
App identifier returned by GET /api/v2/apps.
1Exact app version returned by GET /api/v2/apps.
1Query Parameters
Computer Agent account whose app state should be used. Defaults to the API token account.
Body
Complete app manifest returned by GET, with required dependency values filled in.