Developers
The endpoints below were checked against production by making the request, and this page says where that checking stops. Where something is not available, it says so rather than leaving it out.
Authentication
Every request carries the API key in the X-OWLGraph-Key header. Keys are created in the dashboard under Settings, API Keys.
curl -X POST "https://api.owlgraph.ai/api/v1/databases/YOUR_DATABASE_ID/query" \
-H "X-OWLGraph-Key: owlg_sk_..." \
-H "Content-Type: application/dql" \
-d '{ works(func: type(CreativeWork)) { title } }' MCP
POST https://api.owlgraph.ai/mcp
The endpoint is at the root, with no /api/v1 prefix. A request to /api/v1/mcp returns 404. An MCP initialize handshake against /mcp succeeds and reports protocol version 2024-11-05 and server owlgraph-mcp version 0.1.0.
Add it as a server entry in an MCP-capable client and send the X-OWLGraph-Key header. Exact field names depend on your client.
{
"mcpServers": {
"owlgraph": {
"url": "https://api.owlgraph.ai/mcp",
"headers": { "X-OWLGraph-Key": "owlg_sk_..." }
}
}
} HTTP routes
Five routes, all POST, all under https://api.owlgraph.ai/api/v1/databases/:id/. Each returns 401 without a key, while a route that does not exist returns 404, so all five exist and require authentication.
| Method | Route |
|---|---|
POST | https://api.owlgraph.ai/api/v1/databases/:id/query |
POST | https://api.owlgraph.ai/api/v1/databases/:id/mutate |
POST | https://api.owlgraph.ai/api/v1/databases/:id/graphql |
POST | https://api.owlgraph.ai/api/v1/databases/:id/alter |
POST | https://api.owlgraph.ai/api/v1/databases/:id/ontology |
A worked request for query. The content type is application/dql.
curl -X POST "https://api.owlgraph.ai/api/v1/databases/YOUR_DATABASE_ID/query" \
-H "X-OWLGraph-Key: owlg_sk_..." \
-H "Content-Type: application/dql" \
-d '{ works(func: type(CreativeWork)) { title } }' The request bodies for each route have not each been exercised by request. What is verified is that the five routes exist and require authentication.
Python SDK
The package owlgraph-core is not published on PyPI, so pip install owlgraph-core does not currently work. The usage below documents the intended interface and has not been run against a published package. Python 3.12 or later.
Call connect(database_id, api_key), then retrieve(question), which returns answer, passages and trajectory. See the SDK reference.
from owlgraph_core import sdk as owl
db = owl.connect(
database_id="your-database-uuid",
api_key="owlg_sk_...",
)
result = db.retrieve("Which passages discuss the same obligation?")
print(result.answer)
for p in result.passages:
print(p.source, p.text[:200]) Not available
- gRPC is not exposed on any host or port.
- Per-database hostnames of the form {id}.db.owlgraph.ai do not serve. Use the routes above.
- Sources are added by URL. File upload is not yet available.
- There is no team or seat management.
- The Python SDK is not published on PyPI, so it cannot be installed with pip today.
Not a developer? The homepage explains what OWLGraph does without any of this.