curl --request GET \
--url https://api.rootkey.ai/api-v1/vaults/deleted \
--header 'x-api-key: <api-key>'import requests
url = "https://api.rootkey.ai/api-v1/vaults/deleted"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.rootkey.ai/api-v1/vaults/deleted', 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.rootkey.ai/api-v1/vaults/deleted",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rootkey.ai/api-v1/vaults/deleted"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rootkey.ai/api-v1/vaults/deleted")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootkey.ai/api-v1/vaults/deleted")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"walletAddress": "<string>",
"name": "<string>",
"type": "VAULT",
"deletedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"member": {
"name": "<string>",
"imagePath": "<string>"
},
"purgeDeadline": "2023-11-07T05:31:56Z",
"redacted": true
}
],
"pagination": {
"previousCursor": "<string>",
"nextCursor": "<string>"
},
"metadata": {
"fetchedCount": 123,
"totalCount": 123,
"serverTimestamp": "2023-11-07T05:31:56Z",
"parameters": {
"limit": 123,
"cursor": "<string>",
"order": "asc"
}
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}List deleted vaults
Lists the vaults in the trash of your organization (vaults only: deleted tables are restored in the ROOTKey app), newest deletion first. With an API key it lists every deleted vault of the organization. With a personal access token it lists the deleted vaults the user could see now (the vaults of the user’s teams, every vault for an owner or an administrator), and never a RESTRICTED vault, whoever asks; what is left out never shortens a page or enters metadata.totalCount. A personal access token needs the rootkey.read scope and an organization role that may read vaults.
curl --request GET \
--url https://api.rootkey.ai/api-v1/vaults/deleted \
--header 'x-api-key: <api-key>'import requests
url = "https://api.rootkey.ai/api-v1/vaults/deleted"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.rootkey.ai/api-v1/vaults/deleted', 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.rootkey.ai/api-v1/vaults/deleted",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rootkey.ai/api-v1/vaults/deleted"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rootkey.ai/api-v1/vaults/deleted")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootkey.ai/api-v1/vaults/deleted")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"walletAddress": "<string>",
"name": "<string>",
"type": "VAULT",
"deletedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"member": {
"name": "<string>",
"imagePath": "<string>"
},
"purgeDeadline": "2023-11-07T05:31:56Z",
"redacted": true
}
],
"pagination": {
"previousCursor": "<string>",
"nextCursor": "<string>"
},
"metadata": {
"fetchedCount": 123,
"totalCount": 123,
"serverTimestamp": "2023-11-07T05:31:56Z",
"parameters": {
"limit": 123,
"cursor": "<string>",
"order": "asc"
}
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"requestId": "<string>",
"message": "<string>",
"errorCode": "<string>",
"docUrl": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
ROOTKey API key. A test key works on your organization's test data and a live key on its live data; both are used with the same API.
Headers
The organization a personal access token acts in: the id of one of the organizations that GET /organizations lists. Required with a personal access token on every endpoint that works inside an organization; without it the request gets organization_header_required. Ignored with an API key, which belongs to exactly one organization.
Whether a personal access token works on live data (false, the default) or on test data (true). Only this header decides, never a query string or a body field. An API key is itself a test or a live key and works on that data.
true, false Query Parameters
The pagination.nextCursor of the previous page. With a personal access token it is opaque, and a cursor that is not valid gets invalid_cursor, never a restart from the first page.
With a personal access token, a whole number from 1 to 100; anything else gets invalid_filters.
1 <= x <= 100By deletion time.
asc, desc Only vaults whose name contains this text.
Only what was deleted at or after this time.
Only what was deleted at or before this time.
Was this page helpful?

