Skip to content
SQL over HTTP
Key-Value Store
Atomic Increment
Time-Travel Queries
Batch 100 Keys
Shareable Query URLs
Zero Config
Audit Trail
SQL over HTTP
Key-Value Store
Atomic Increment
Time-Travel Queries
Batch 100 Keys
Shareable Query URLs
Zero Config
Audit Trail
SQL over HTTP
Key-Value Store
Atomic Increment
Time-Travel Queries
Batch 100 Keys
Shareable Query URLs
Zero Config
Audit Trail
SQL over HTTP
Key-Value Store
Atomic Increment
Time-Travel Queries
Batch 100 Keys
Shareable Query URLs
Zero Config
Audit Trail
home / kit / sqlite
SQLiteSQL + KV + Time-Travel

Your database is a URL.

Execute SQL transactions and key-value operations over HTTP. No database server, no connection string, no driver — just an authenticated request.

hoody-sqlite · serverless database access

# Execute a SQL transaction via HTTP POST

$ curl -X POST "https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com

/api/v1/sqlite/db?db=/data/app.db" \

-d '{

"transaction": [{

"statement": "INSERT INTO orders (product_id, qty) VALUES (42, 3)"

}]

}'

# One ACID transaction, one JSON result

HTTP/1.1 200 OK

{

"results": [

{

"success": true,

"rowsUpdated": 1

}

]

}

No database server. No connection string. Just HTTP.

home / kit / sqlite / playground
Try It

Run a query. See the result.

Run a shareable SQL query, set a key with a TTL, and increment a counter atomically — every operation is one HTTP call.

hoody-sqlite · interactive playground

Request

GET /api/v1/sqlite/query

?db=/data/app.db

&sql=U0VMRUNUIHByb2R1Y3RfaWQsIENPVU5UKCopIEZST00gb3JkZXJzIEdST1VQIEJZIHByb2R1Y3RfaWQgTElNSVQgNQ==

# decodes to:

# SELECT product_id, COUNT(*) FROM orders

# GROUP BY product_id LIMIT 5

Result (5 rows)

product_idCOUNT(*)
142
238
327
419
511

The shareable query endpoint decodes the base64 SQL and returns columns and rows — read-only, so it is safe to embed in a URL.

home / kit / sqlite / charts
Data at a Glance

Query results become charts.

Run a query, chart the result instantly. Base64-encoded query URLs let you share live, read-only data straight into a dashboard.

Orders by Product

Five products, aggregated and charted live from a single query.

KV Operations (ops/sec)

Set and get throughput sampled across a 24-hour window.

Shareable Query URL

GET /api/v1/sqlite/query?db=/data/app.db&sql=U0VMRUNUIFN1bShjb3VudCkgRlJPTSBvcmRlcnM=

Base64-encode any read statement and share the query as a URL. Anyone with the link sees live data — read-only, with no write access.

home / kit / sqlite / kv
Key-Value Store

NoSQL speed. SQLite reliability.

Atomic operations, batch writes, and time-travel history — all backed by the same SQLite runtime, all reachable over HTTP.

Atomic Increment

Increment counters without race conditions. Simultaneous requests are serialized by the engine, so the counter steps 5, 6, 7 — never double-counts under load.

POST /api/v1/sqlite/kv/views:homepage/incr

{ "key": "views:homepage", "value": 6, "previous": 5 }

Batch 100 Keys

Get, set, or delete up to 100 keys in one atomic request. Every operation in the batch succeeds together or fails together.

POST /api/v1/sqlite/kv/batch/set

{ "items": [{ "key": "user:1", "value": "Alice" }] }

TTL Auto-Expiry

Attach a TTL to any key and it deletes itself on expiry. Ideal for sessions, cache entries, and short-lived tokens — no sweeper needed.

PUT /api/v1/sqlite/kv/session:abc?ttl=3600

{ "status": "ok", "key": "session:abc", "created": true }

Time-Travel History

Every change to a key is recorded with an operation number. Read the full history, reconstruct the value at any operation, or roll back to a prior state.

GET /api/v1/sqlite/kv/config:timeout/history

{ "operations": [{ "op_number": 12, "op_type": "set" }], "total": 12 }

home / kit / sqlite / compare
vs Traditional DB

HTTP beats connection strings.

Hoody SQLite drops the operational overhead of a database server. The database is just a URL you call with a token.

FeatureHoody SQLite over HTTPPostgres
Server installNone neededServer process
Connection stringJust a URLHost / port / user / pass
Language driverAny HTTP clientpg, mysql2
AI agent accessNative HTTPDriver required
Time-travelBuilt-in KV historyManual snapshots
Atomic KV opsincr, decr, push, popApp-level only
Shareable queryBase64 GET URLNot available
Concurrent containersSQLite Drive (shared)Pool per service
home / kit / sqlite / api
API REFERENCE

30 Endpoints. SQL and KV over HTTP.

SQL transactions, key-value CRUD, atomic operations, batch writes, time-travel, and health — every one a plain HTTP call. No SDK required.

SQL Operations

3 endpoints

POST https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/db

POST
/api/v1/sqlite/dbExecute a multi-statement SQL transaction with full ACID guarantees
POST
/api/v1/sqlite/db/createCreate a new SQLite database, optionally pre-initialized for KV use
GET
/api/v1/sqlite/queryRun a shareable, base64-encoded read query passed in the URL

KV Core

5 endpoints

GET https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/kv/{key}

GET
/api/v1/sqlite/kvList keys with prefix filtering and pagination
GET
/api/v1/sqlite/kv/{key}Get a value by key, with optional time-travel by timestamp
PUT
/api/v1/sqlite/kv/{key}Set or update a value, with optional TTL
DELETE
/api/v1/sqlite/kv/{key}Delete a key from the store
HEAD
/api/v1/sqlite/kv/{key}Check whether a key exists without fetching the value

Atomic Ops

5 endpoints

POST https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/kv/{key}/incr

POST
/api/v1/sqlite/kv/{key}/incrAtomically increment a numeric counter
POST
/api/v1/sqlite/kv/{key}/decrAtomically decrement a numeric counter
POST
/api/v1/sqlite/kv/{key}/pushAppend an element to an array value
POST
/api/v1/sqlite/kv/{key}/popRemove and return the last element of an array
POST
/api/v1/sqlite/kv/{key}/removeRemove a specific element from an array value

Batch Ops

3 endpoints

POST https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/kv/batch/set

POST
/api/v1/sqlite/kv/batch/getGet up to 100 keys in one atomic request
POST
/api/v1/sqlite/kv/batch/setSet up to 100 keys in one atomic request
POST
/api/v1/sqlite/kv/batch/deleteDelete up to 100 keys in one atomic request

Time-Travel & History

10 endpoints

GET https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/kv/{key}/history

GET
/api/v1/sqlite/kv/{key}/historyRead the full change history for a key
GET
/api/v1/sqlite/kv/{key}/snapshotReconstruct a key value at a specific operation number
POST
/api/v1/sqlite/kv/{key}/rollbackRoll back the operations on a single key
GET
/api/v1/sqlite/kv/snapshotSnapshot the whole KV table at a timestamp
GET
/api/v1/sqlite/kv/diffCompare two KV table snapshots
POST
/api/v1/sqlite/kv/rollbackRoll back the entire KV table to an earlier state
GET
/api/v1/sqlite/historyList the SQL query execution history
DELETE
/api/v1/sqlite/historyClear the entire query history
DELETE
/api/v1/sqlite/history/{index}Delete a single query history entry by index
GET
/api/v1/sqlite/history/statsGet aggregate query-history statistics

Health & Docs

4 endpoints

GET https://abc123-def456-sqlite-1.node-us-1.containers.hoody.com/api/v1/sqlite/health

GET
/api/v1/sqlite/healthService health check with liveness and resource counters
GET
/api/v1/sqlite/health/cacheCache snapshot for polling cache pressure on its own
GET
/api/v1/sqlite/openapi.jsonGet the OpenAPI specification (JSON redirect)
GET
/api/v1/sqlite/openapi.yamlGet the OpenAPI specification in YAML
home / kit / sqlite / capabilities
Capabilities

Everything your database needs. Nothing it doesn't.

A complete data layer: SQL transactions, a key-value store, atomic operations, batch writes, and time-travel — all over plain HTTP.

Web Database UI

A visual SQL query interface in the browser — the main entry point for exploration. Run queries and read results without any local tooling.

SQL Transactions

Execute multi-statement transactions with full ACID guarantees over HTTP POST. Parameterized values and batched parameter sets are supported.

Key-Value Store

NoSQL-style get, set, and delete on top of SQLite. A natural fit for config, sessions, cache, and feature flags.

Atomic Operations

Thread-safe increment, decrement, push, and pop. Operations are serialized by the engine, so they stay correct under any concurrency.

Batch Operations

Get, set, or delete up to 100 keys in a single atomic request, with all-or-nothing semantics that beat one round trip per key.

Multi-Container Access

Keep databases in a shared volume so multiple containers reach the same file, concurrent-write-safe. Query over HTTP or with native SQLite libraries side by side.

home / kit / sqlite / cta

Your database is a URL.

No server. No driver. No connection string. Start executing SQL and key-value operations over HTTP in minutes.

Read the Docs