API Reference
This document covers the primary API surface. All endpoints accept and return JSON unless noted otherwise.
Common Headers
Section titled “Common Headers”X-Tenant-IDX-Workspace-IDX-Context-IDAuthorization: Bearer <token>(required for all authenticated endpoints)
Health
Section titled “Health”Every service exposes GET /health and returns JSON with dependency status.
Gateway
Section titled “Gateway”SPARQL Query
Section titled “SPARQL Query”POST /sparqlContent-Type: application/sparql-queryAccept: application/sparql-results+jsonSPARQL Update
Section titled “SPARQL Update”POST /sparql/updateContent-Type: application/sparql-updateGQL (subset)
Section titled “GQL (subset)”POST /gqlContent-Type: application/jsonRequest body:
{ "start": "urn:ex:Alice", "predicates": ["urn:ex:knows"], "direction": "out", "depth": 1, "limit": 25}Statement Service
Section titled “Statement Service”Create Statement
Section titled “Create Statement”POST /statementsContent-Type: application/json{ "subject": "urn:ex:Alice", "predicate": "urn:ex:knows", "object": "urn:ex:Bob", "objectType": "iri", "contextId": "urn:tenant:t1:ws:w1:graph:core", "metadata": {"confidence": 0.92}}Batch Create
Section titled “Batch Create”POST /statements/batchGet Statement
Section titled “Get Statement”GET /statements/{id}GET /statements/statsShapes Service
Section titled “Shapes Service”List Shapes
Section titled “List Shapes”GET /shapesCreate Shape
Section titled “Create Shape”POST /shapesContent-Type: application/json{ "name": "PersonShape", "turtle": "@prefix sh: <http://www.w3.org/ns/shacl#> ..."}UI Schema
Section titled “UI Schema”GET /shapes/{id}/uiValidate
Section titled “Validate”POST /validate{ "shapeId": "urn:keystone:shape:...", "limit": 5000}Projection Service
Section titled “Projection Service”Query Graph
Section titled “Query Graph”POST /gqlResponse:
{ "nodes": [{"nodeId":"urn:ex:Alice"}], "edges": [{"edgeId":"urn:keystone:stmt:...","from":"...","to":"..."}]}Index Service
Section titled “Index Service”Keyword Search
Section titled “Keyword Search”GET /search?q=climate&limit=20Vector Search
Section titled “Vector Search”POST /search/vector{ "vector": [0.01, 0.02, 0.03], "limit": 10}Catalog Service
Section titled “Catalog Service”POST /catalog/datasetsGET /catalog/datasetsGET /catalog/datasets/{id}POST /catalog/distributionsGET /catalog/distributions/{id}Workflow Service
Section titled “Workflow Service”POST /workflow/artifactsGET /workflow/{id}/statusPOST /workflow/{id}/submitPOST /workflow/{id}/publishPOST /workflow/{id}/deprecatePOST /workflow/{id}/archivePOST /workflow/{id}/rejectIngestion Service
Section titled “Ingestion Service”POST /ingestions/statementsGET /ingestions/{id}Ontology Service
Section titled “Ontology Service”POST /ontologiesGET /ontologiesPOST /ontologies/scoreTutor Service
Section titled “Tutor Service”POST /tutor/answerPOST /tutor/summarize