HTTP REST API
QilbeeDB Rust 0.3.0 exposes the authenticated platform API for durable identity and scoped, versioned memory, plus evidence-driven procedural learning.
Base URL#
http://localhost:7474
For a container on the configured integration network, use
http://qilbeedb-local:7474. See Docker deployment.
API contract#
Open the browser reference at /docs, or the server
root URL, which redirects there. The page supports endpoint/schema search and
loads only the public contract from the same server.
Download the machine-readable OpenAPI 3.1 specification, or request
GET /openapi.json from a running server. It lists implemented endpoints only.
The documentation uses the same field names, enum values and error envelopes.
| API | Detailed reference |
|---|---|
| Tenant provisioning, authentication and credential lifecycle | Platform HTTP API |
| Create, conditional update, read, query and delete | Versioned Memory API |
| Administrative learning contracts, proposals, outcomes and selection | Procedural Learning API |
| Identity, scope, capability and secret-storage semantics | Durable Scoped Credentials |
| Legacy endpoint persistence and limits | Legacy Durable HTTP Memory |
Authentication#
Provision a tenant through the local bootstrap-tenant operator command, then
issue credentials with the capabilities and exact resource grants needed by each
client. Use the returned opaque credential:
curl --fail 'http://localhost:7474/api/v1/identity' \
--header "Authorization: Bearer $QILBEE_TOKEN"
The tenant and private subject come from authentication. Request bodies cannot override them. Legacy Basic Auth, fixed administrator passwords and JWTs are not credentials for this router. Health and the public OpenAPI document require no credential; other implemented operations do.
Health check#
curl --fail 'http://localhost:7474/health'
Response:
{"contract_version":1,"status":"healthy","version":"0.3.0"}
This is process health. It does not replace an authenticated write/read probe.
Errors and retries#
{"contract_version":1,"error":{"code":"revision_conflict","message":"The expected revision or authorizing credential changed"}}
The API distinguishes invalid requests (400), authentication (401), authorization
(403), missing current records (404), unsupported methods (405), conflicting
commands/revisions (409), transport body limits (413), and internal or storage
consistency failures (500). Credential and memory responses use
Cache-Control: no-store.
For an uncertain memory mutation, retry the same command and idempotency key to recover its original durable receipt. Changing the payload under that key is a conflict. Credential issuance/rotation deliver a secret once and have different recovery semantics, described in the platform reference.
Compatibility and remaining APIs#
The previous graph, login and global-agent HTTP routes are available only through
an explicitly opted-in legacy router with documented limitations. They are not
silently exposed by the default server or mapped into tenant scopes. Current
legacy SDK examples must not be assumed compatible with /api/v1/memory.
Shared changes feeds, indexed hybrid retrieval and learned-tool services have acceptance criteria but no implemented endpoints in this version. See the delivery contract and learned-tool architecture.