CogniGraph / Developers
Your language.
One HTTP API.
Use CogniGraph from an application that can make HTTP requests. Query documents and edges with CGQL, use dedicated search endpoints, or combine database operations in a sandboxed Lua program on the server.
01 / First contact
Get one question working.
Start with the interactive synthetic graph to see the data model. For a local server, pull cognigraph/cognigraph:latest from Docker Hub. It includes the HTTP API, web console and CLI, with Native storage in a persistent Docker volume.
docker pull --platform linux/amd64 cognigraph/cognigraph:latest
docker run -d --name cognigraph --platform linux/amd64 \
-p 127.0.0.1:3000:3000 \
-v cognigraph-data:/data \
-e COGNIGRAPH_AUTH_ENABLED=false \
-e COGNIGRAPH_EMBEDDING_PROVIDER=none \
-e COGNIGRAPH_CGQL_MUTATIONS_ENABLED=true \
cognigraph/cognigraph:latest
curl --fail --retry 10 --retry-all-errors --retry-delay 1 \
http://127.0.0.1:3000/health/databaseThe latest tag follows stable releases. The pull step refreshes your local image; existing containers use the new image only when recreated. Pin a numbered tag or digest for reproducible production deployments.
The image is Linux amd64; Apple Silicon needs Docker’s amd64 emulation. The example disables authentication on loopback, enables CGQL writes and runs without an embedding provider. Configure a provider when you need to generate embeddings for semantic search.
- Open the console. Once the readiness check succeeds, visit
http://127.0.0.1:3000in your browser. - Add a small dataset. Create ordinary document collections, then add the relationships your first question follows.
- Make a read request. Send CGQL and bind values separately. Inspect the returned fields before expanding the workload.
Stop and resume with docker stop cognigraph and docker start cognigraph. The cognigraph-data volume keeps your records between runs. Before sharing a server, configure authentication, roles, secrets and the intended read and write permissions.
02 / Query over HTTP
A query and its values.
This request targets your running CogniGraph server after you have loaded an accounts collection. It uses the local quick-start configuration, with authentication disabled on loopback. On an authenticated server, supply credentials with the required read permissions.
curl --fail-with-body http://127.0.0.1:3000/api/search/query \
-H 'Content-Type: application/json' \
-d '{
"query": "FOR a IN accounts FILTER a.case == @case RETURN { handle: a.handle }",
"bind_vars": { "case": "CS-0412" }
}'POST /api/search/query is the read-only CGQL surface. POST /api/query also supports permitted mutations when they are explicitly enabled and authorized. Both need the right permissions on an authenticated server.
Your server serves its edition-specific API contract at /openapi.yaml. Keep that contract close to your integration.
03 / Add what the question needs
Follow a path. Then return it.
CGQL queries
Learn collection filters and graph traversal before adding joins, grouping and subqueries.
Search entry points
Choose full-text, vector, hybrid or graph-augmented retrieval for the question.
Moving from AQL
Check the supported grammar, bind variables and result contract.
Application patterns
See how records and relationships fit investigations, research, logistics and catalogs.
04 / Program the workflow
One request. Several steps.
Lua lets you combine CGQL, graph traversal, text or vector search and your own control flow. Read records, filter and reshape results, or make authorized updates, then return a JSON response your application can use directly.
Program your graph.
The Lua Sandbox is included in Community, with instruction limits, configurable time budgets and separate write permissions. See a complete case workflow and the controls around its execution.
Explore the Lua Sandbox05 / Build with the contract
The next useful reference.
Use the specification for syntax, the HTTP contract for request and response shapes, and the operations guides for deployment. The website gives you the route into each subject; the engineering repository owns the detailed contracts.
Browse the documentation map or understand the source workspace.