Skip to content

TypeScript SDK

Full documentation for the @hypermeshdb/client npm package.

See the TypeScript Quickstart for a fast introduction.

Terminal window
npm install @hypermeshdb/client
import { HyperMeshClient, ClientOptions } from "@hypermeshdb/client";
const db = new HyperMeshClient({
baseUrl: "http://localhost:8000",
apiKey: "hmdb_yoursecretkey",
timeoutMs: 30000,
fetch: customFetchImpl, // optional
});

See the REST API reference for the underlying endpoints. The TypeScript SDK exposes identical semantics — each method maps 1:1 to a REST call.

MethodRESTRequires
health()GET /healthreadonly
live()GET /health/livenone
ready()GET /health/readynone
walStatus()GET /v1/walreadonly
listTables()GET /v1/tablesreadonly
getTable(name)GET /v1/tables/:namereadonly
createTable(...)POST /v1/tablesadmin
dropTable(name)DELETE /v1/tables/:nameadmin
listIndexes(table?)GET /v1/indexesreadonly
createIndex(table, col)POST /v1/indexesadmin
dropIndex(table, col)DELETE /v1/indexes/:t/:cadmin
execute(cypher, params?)POST /v1/queryvaries
queryRange(start, end, table?)GET /v1/hyperedgesreadonly
queryNode(nodeId, table?)GET /v1/hyperedges/node/:idreadonly
insert(options)POST /v1/hyperedgesreadwrite
delete(ts, members)DELETE /v1/hyperedgesreadwrite
compact(options?)POST /v1/hyperedges/compactreadwrite
setAutocompact(options)POST /v1/autocompactreadwrite
batch(operations)POST /v1/batchreadwrite
analytics(table, measure, params?)POST /v1/analytics/:t/:mreadonly
backup(dir, compactFirst?)POST /v1/backupadmin
listKeys()GET /v1/keysadmin
createKey(role?, desc?)POST /v1/keysadmin
revokeKey(keyId)DELETE /v1/keys/:idadmin
import { HyperMeshError } from "@hypermeshdb/client";
try {
await db.insert({ event_ts: 1, members: [] }); // invalid: empty members
} catch (err) {
if (err instanceof HyperMeshError) {
console.log(err.statusCode); // 400
console.log(err.detail); // server detail object
}
}

All types are exported from @hypermeshdb/client:

import type {
ClientOptions, QueryResult, QueryPlan,
Row, Hyperedge, RangeQueryResult,
TableDef, IndexDef, HealthStatus, WalStatus,
InsertOptions, CompactOptions, AutocompactOptions,
BatchOperation, BatchResult, BatchOpResult, BatchOpType,
AnalyticsResult,
ApiKeyInfo, ApiKeyCreated, ApiKeyRole,
BackupResult,
} from "@hypermeshdb/client";