What the HTTP gateway of heliosdb-full supports. The gateway is a SQL-over-HTTP
interface of its own; it does not emulate another vendor’s REST API.
Transport and authentication
| Feature | Supported | Notes |
|---|
| HTTP/1.1 | Yes | Plain HTTP; default port 8443 |
| TLS (HTTPS) | Through a reverse proxy | The gateway does not terminate TLS |
| API key | Yes | HELIOSDB_API_KEY, sent as Authorization: Bearer or X-API-Key |
| Per-user accounts, JWT, OAuth, Basic, mTLS | No | Use the PostgreSQL listener and database roles for per-user logins |
| CORS | Yes | Access-Control-Allow-Origin: * on responses |
| WebSocket | No | |
| Server-sent events | Chat route only | "stream": true on /api/v1/chat/completions |
Request and response
| Feature | Supported | Notes |
|---|
| JSON request body | Yes | {"query": "<one SQL statement>"} |
| Bind parameters | No | Validate values in the application or use a PostgreSQL driver |
| Several statements per request | No | Send one statement per request |
| JSON response | Yes | success, columns (name, type), rows, row_count |
| Column types in responses | integer, float, boolean, text | Other SQL types are reported as text |
| Streaming large results | No | Page with LIMIT and keyset conditions |
SQL
| Feature | Supported | Notes |
|---|
| SELECT, INSERT, UPDATE, DELETE, DDL | Yes | Same SQL engine as the PostgreSQL listener |
| Transactions | With pinned sessions | Start the server with --http-sessions; plain requests are reset after each request |
Temporary tables, SET across requests | With pinned sessions | |
Other routes
| Route family | Supported | Notes |
|---|
| Health, readiness, status | Yes | No key needed |
| AI: chat, embeddings, transcription | Yes | Needs a configured provider (HELIOSDB_AI_*) |
| Vector stores, agent memory, documents | Yes | Stored in HeliosDB; embeddings from the configured provider |
/snowflake/, /dbsql/, /pinecone/ paths | No | Answered with 501 Not Implemented |
See the HTTP/REST API reference.