Get database
curl --request GET \
--url https://api.example.com/api/v1/databases/{id}import requests
url = "https://api.example.com/api/v1/databases/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/databases/{id}', 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.example.com/api/v1/databases/{id}",
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.example.com/api/v1/databases/{id}"
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.example.com/api/v1/databases/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/databases/{id}")
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_bodyDatabases
Get database
Get details for a specific database.
GET
/
api
/
v1
/
databases
/
{id}
Get database
curl --request GET \
--url https://api.example.com/api/v1/databases/{id}import requests
url = "https://api.example.com/api/v1/databases/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/databases/{id}', 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.example.com/api/v1/databases/{id}",
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.example.com/api/v1/databases/{id}"
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.example.com/api/v1/databases/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/databases/{id}")
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_bodyReturns full details for a database.
sizeBytes reflects the latest known PostgreSQL database size. When the agent is reachable, DBHost refreshes this from live agent data before responding and also persists the refreshed value for later reads.
status can be creating, active, stopped, deleting, or error.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | uuid | Database ID |
Example
curl -H "Authorization: Bearer dbh_your_api_key_here" \
https://dbhost.app/api/v1/databases/550e8400-e29b-41d4-a716-446655440000
Response
200 OK
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "my-app",
"displayName": "My Application",
"host": "db.dbhost.app",
"port": 6432,
"database": "my-app",
"username": "my-app",
"status": "active",
"sizeBytes": 8388608,
"createdAt": "2026-03-19T12:00:00.000Z"
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 404 | DATABASE_NOT_FOUND | Database doesn’t exist, isn’t owned by this user, or isn’t in scope for this key |
⌘I