Read the database's current schema
curl --request GET \
--url https://api.crevio.co/v1/sites/{id}/db/schema \
--header 'Authorization: <api-key>'import requests
url = "https://api.crevio.co/v1/sites/{id}/db/schema"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.crevio.co/v1/sites/{id}/db/schema', 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.crevio.co/v1/sites/{id}/db/schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.crevio.co/v1/sites/{id}/db/schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.crevio.co/v1/sites/{id}/db/schema")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crevio.co/v1/sites/{id}/db/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"environment": "<string>",
"schema": "<string>",
"object_count": 123
}{
"error": {
"type": "invalid_request_error",
"code": "bad_request",
"message": "The request was malformed or contained invalid parameters"
}
}{
"error": {
"type": "invalid_request_error",
"code": "authentication_required",
"message": "You did not provide an API key."
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "The requested resource was not found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry later."
}
}Sites
Read the database's current schema
The schema a database actually has, as the SQL that would recreate it. Pass environment to read the development database (what you are building against) or production (what the site is serving). Production’s shape is changed only by deploying — it is a diff of development against it — so this is for understanding, not authoring.
GET
/
sites
/
{id}
/
db
/
schema
Read the database's current schema
curl --request GET \
--url https://api.crevio.co/v1/sites/{id}/db/schema \
--header 'Authorization: <api-key>'import requests
url = "https://api.crevio.co/v1/sites/{id}/db/schema"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.crevio.co/v1/sites/{id}/db/schema', 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.crevio.co/v1/sites/{id}/db/schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.crevio.co/v1/sites/{id}/db/schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.crevio.co/v1/sites/{id}/db/schema")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.crevio.co/v1/sites/{id}/db/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"environment": "<string>",
"schema": "<string>",
"object_count": 123
}{
"error": {
"type": "invalid_request_error",
"code": "bad_request",
"message": "The request was malformed or contained invalid parameters"
}
}{
"error": {
"type": "invalid_request_error",
"code": "authentication_required",
"message": "You did not provide an API key."
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_missing",
"message": "The requested resource was not found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry later."
}
}Authorizations
API key in the format: Bearer {api_token}
Path Parameters
The resource ID (e.g., "prod_abc123") or slug (e.g., "my-product")
Was this page helpful?

