Browse and Edit Documents
curl --request GET \
--url https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documentsimport requests
url = "https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents', 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/collections/{name}/documents",
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/collections/{name}/documents"
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/collections/{name}/documents")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents")
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": {
"documents": [
{}
],
"total": 123,
"page": 123,
"per_page": 123
}
}Data
Browse and Edit Documents
Reads a page of documents from a collection, and creates, replaces or deletes documents by _id.
GET
/
v1
/
databases
/
{id}
/
data
/
collections
/
{name}
/
documents
Browse and Edit Documents
curl --request GET \
--url https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documentsimport requests
url = "https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents', 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/collections/{name}/documents",
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/collections/{name}/documents"
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/collections/{name}/documents")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vertracloud.app/v1/databases/{id}/data/collections/{name}/documents")
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": {
"documents": [
{}
],
"total": 123,
"page": 123,
"per_page": 123
}
}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
Collection name, URL-encoded.
number
1-based page. Defaults to
1.number
Documents per page. Maximum 200.
string
A MongoDB query document, JSON-encoded. Operators that execute JavaScript inside the server —
$where, $function, $accumulator — are rejected at any depth with QUERY_REJECTED.string
JSON object of
{ field: 1 | -1 }.string
Workspace the database belongs to.
Response
object
Create, replace and delete
Mutations require owner or admin in the workspace and are recorded in the activity log — the operation and the collection, never the content. Bodies are capped at 1 MB.string
/v1/databases/{id}/data/collections/{name}/documents{ document }.
string
/v1/databases/{id}/data/collections/{name}/documents/{doc_id}{ document }. Replaces the document with that _id; _id itself is immutable and is ignored
if present in the body.
string
/v1/databases/{id}/data/collections/{name}/documents{ ids } — up to 200 _id values.
All three answer { "response": { "affected": <number> } }.