Skip to content

HeliosDB API Reference Overview

Applications reach HeliosDB Full through the database clients they already use, over the wire protocols the heliosdb-full server opens, or through its HTTP gateway.

Interfaces

InterfaceDefault portEnabledUse case
PostgreSQL wire5432yesApplication code, ORMs, SQL tools, migrations
HTTP gateway8443 (plain HTTP; terminate TLS in a proxy)yesScripts, serverless functions, tools without a database driver
MySQL wire3306--enable-mysqlExisting MySQL applications
Oracle TNS1521--enable-oracleExisting Oracle thin-client applications
MongoDB wire27017--enable-mongodbExisting MongoDB applications
Cassandra CQL9042--enable-cassandraExisting Cassandra applications
Redis (RESP)6379--enable-redisKey-value access
SQL Server (TDS)1433--enable-sqlserverExisting TDS clients

The server has no WebSocket, GraphQL or gRPC API. Credentials, ports and TLS for each listener are described in Connecting and the Server Configuration Reference.


HTTP gateway

MethodPathPurpose
GET/health, /ready, /statusProbes and server status (no key needed)
POST/api/v1/queryRun one SQL statement: {"query": "..."}
POST, DELETE/api/v1/sessionsPinned sessions for transactions (--http-sessions)
POST/api/v1/chat/completions, /api/v1/embeddings, /api/v1/audio/transcriptionsAI provider routes
various/api/v1/vectors/..., /api/v1/agents/memory/..., /api/v1/documents/...Vector stores, agent memory, documents
Terminal window
curl -s -X POST http://127.0.0.1:8443/api/v1/query \
-H "Authorization: Bearer $HELIOSDB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "SELECT id, name FROM users WHERE status = '"'"'active'"'"' LIMIT 10"}'

The gateway has no bind parameters; use a PostgreSQL driver when you need them. Port, bind address, API key, sessions and rate limits: HTTP/REST API reference.


Application Drivers

HeliosDB Full does not expose a gRPC API. Applications connect over the PostgreSQL wire protocol (port 5432) with any standard PostgreSQL driver, or over the HTTP gateway described above.

LanguageDriverInstallation
Pythonpsycopgpip install "psycopg[binary]"
Gopgxgo get github.com/jackc/pgx/v5
JavaPostgreSQL JDBCorg.postgresql:postgresql (Maven/Gradle)
Node.jsnode-postgresnpm install pg
Rusttokio-postgres / sqlxcargo add tokio-postgres

HTTP clients for the REST API are in HeliosDatabase/HeliosDB-SDKs.

Python Example

import psycopg
with psycopg.connect("host=localhost port=5432 user=helios password=secret dbname=heliosdb sslmode=require") as conn:
rows = conn.execute("SELECT * FROM users WHERE age > %s", (21,)).fetchall()
for row in rows:
print(row)

Go Example

package main
import (
"context"
"log"
"github.com/jackc/pgx/v5"
)
func main() {
ctx := context.Background()
conn, err := pgx.Connect(ctx, "postgres://helios:secret@localhost:5432/heliosdb?sslmode=require")
if err != nil {
log.Fatal(err)
}
defer conn.Close(ctx)
rows, err := conn.Query(ctx, "SELECT id, name FROM users LIMIT 10")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var id int64
var name string
if err := rows.Scan(&id, &name); err != nil {
log.Fatal(err)
}
log.Println(id, name)
}
}

Authentication

InterfaceHow clients authenticate
PostgreSQLDatabase roles with SCRAM-SHA-256 (postgres with HELIOSDB_SUPERUSER_PASSWORD, or CREATE ROLE ... LOGIN PASSWORD); optional TLS
HTTP gatewayOne shared API key, HELIOSDB_API_KEY, as Authorization: Bearer or X-API-Key
Other listenersSee Credentials per listener

Rate limiting

New connections per client IP are limited on all listeners (default 500 per minute, --conn-rate-limit); per-IP query limits on the PostgreSQL wire and POST /api/v1/query are opt-in (--query-rate-limit). HELIOSDB_RATE_LIMITING=false turns both off. See Rate limits.