List Tables and Columns
curl --request GET \
--url https://api.vertracloud.app/v1/databases/{id}/data/tablesimport requests
url = "https://api.vertracloud.app/v1/databases/{id}/data/tables"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/databases/{id}/data/tables', 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.vertracloud.app/v1/databases/{id}/data/tables",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.vertracloud.app/v1/databases/{id}/data/tables"
req, _ := http.NewRequest("GET", url, nil)
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.vertracloud.app/v1/databases/{id}/data/tables")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/databases/{id}/data/tables")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": {
"columns": [
{ "name": "id", "data_type": "integer", "nullable": false, "default_value": null, "is_primary_key": true, "is_unique": false, "is_foreign_key": false }
],
"indexes": [
{ "name": "users_pkey", "columns": ["id"], "unique": true, "primary": true, "size_bytes": 16384 }
]
}
}
Data
List Tables and Columns
Lists the tables and views of a schema, and the columns and indexes of one table.
GET
/
v1
/
databases
/
{id}
/
data
/
tables
List Tables and Columns
curl --request GET \
--url https://api.vertracloud.app/v1/databases/{id}/data/tablesimport requests
url = "https://api.vertracloud.app/v1/databases/{id}/data/tables"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/databases/{id}/data/tables', 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.vertracloud.app/v1/databases/{id}/data/tables",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.vertracloud.app/v1/databases/{id}/data/tables"
req, _ := http.NewRequest("GET", url, nil)
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.vertracloud.app/v1/databases/{id}/data/tables")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/databases/{id}/data/tables")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": {
"columns": [
{ "name": "id", "data_type": "integer", "nullable": false, "default_value": null, "is_primary_key": true, "is_unique": false, "is_foreign_key": false }
],
"indexes": [
{ "name": "users_pkey", "columns": ["id"], "unique": true, "primary": true, "size_bytes": 16384 }
]
}
}
Every
/data endpoint needs the Intermediary plan or higher, on the database owner’s
account — not the caller’s. Below that the answer is PLAN_RESTRICTED_FEATURE (403).
It is also dashboard-session only: an API key gets API_KEY_SCOPE_DENIED (403) here, regardless of
its scopes.string
required
The ID of the database.
string
required
Schema to list. Must be one of the names returned by
/data/schemas — anything else answers OBJECT_NOT_FOUND.string
Workspace the database belongs to.
Response
object[]
Columns and indexes
string
/v1/databases/{id}/data/tables/{table}/columns?schema={ columns, indexes }. Each column carries name, data_type, nullable, default_value,
is_primary_key, is_unique, is_foreign_key and, for a foreign key, references
({ schema, table, column }). Each index carries name, columns, unique, primary and size_bytes.
{
"response": {
"columns": [
{ "name": "id", "data_type": "integer", "nullable": false, "default_value": null, "is_primary_key": true, "is_unique": false, "is_foreign_key": false }
],
"indexes": [
{ "name": "users_pkey", "columns": ["id"], "unique": true, "primary": true, "size_bytes": 16384 }
]
}
}