Document Store

Built-in NoSQL document store with collections, composite keys, TTL, secondary indexes, and bidirectional graph-document sync. Collections are organized into schemas: public (default) and auth (system).

REST API

MethodEndpointDescription
POST/docs/{collection}Create collection
DELETE/docs/{collection}Drop collection
GET/docs/{collection}/{id}Get document
PUT/docs/{collection}/{id}Upsert document
DELETE/docs/{collection}/{id}Delete document
POST/docs/{collection}/queryQuery with filters
POST/docs/{collection}/batchBatch operations
GET/docs/{collection}/scanPaginated scan

Create & Query Documents

# Create a collection
curl -X POST http://localhost:7474/docs/orders \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"composite_keys": false}'

# Insert a document
curl -X PUT http://localhost:7474/docs/orders/order-1 \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"body": {"item": "Widget", "qty": 10, "status": "pending"}}'

# Query with filters
curl -X POST http://localhost:7474/docs/orders/query \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"filter": {"op": "eq", "field": "status", "value": "pending"}}'

Cypher Integration

CREATE DOCUMENT IN orders order1 {item: "Widget", qty: 10}
MATCH DOCUMENT d IN orders WHERE d.status = "pending" RETURN d.item

Filter Operators

OperatorDescription
eq / neqEqual / not equal
lt / gtLess than / greater than
betweenRange (inclusive)
begins_withString prefix
containsString or list contains
inValue in array
existsField exists
and / orLogical combinators

Collection Management (Cypher)

-- Create a collection
CREATE COLLECTION orders

-- Create only if it doesn't already exist
CREATE COLLECTION IF NOT EXISTS orders

-- Drop a collection
DROP COLLECTION orders

System collections (auth.*) cannot be dropped.