Skip to content

API Explorer

Interactive API documentation powered by Redocly. Browse all endpoints, request/response schemas, and try calls directly.


Key Endpoint Groups

Endpoint Method Description
/v1/search/smart POST Auto-routed search (picks best mode)
/v1/search/global POST Map-reduce over community summaries
/v1/search/drift POST Multi-hop iterative reasoning
/v1/search/contradictions POST Evidence conflict detection
/v1/search/classify POST Classify query type

Ingestion

Endpoint Method Description
/v1/ingest POST Publish entities and relationships
/v1/resolve POST Resolve entities to canonical IDs

Atlas Integration

Endpoint Method Description
/v1/atlas/validate-targets POST GNN-based target validation
/v1/atlas/evidence-for-claim GET Ranked evidence for a claim
/v1/atlas/entity-coverage GET Check KG coverage
/v1/atlas/record-decision POST Store decision trace
/v1/atlas/similar-decisions GET Cross-session learning
/v1/atlas/infer-network POST SparseLink network inference

Communities

Endpoint Method Description
/v1/communities POST Detect communities (Louvain)
/v1/communities/{id}/summary GET Get community summary

Export / Import

Endpoint Method Description
/v1/export/parquet POST Export graph to Parquet
/v1/import/parquet POST Import Parquet to graph

Research Intelligence

Endpoint Method Description
/v1/retrieve POST Graph-augmented retrieval
/v1/coverage POST Knowledge coverage assessment
/v1/compile-context POST Context aggregation
/v1/feedback POST User feedback capture

Authentication

All endpoints require a Bearer token:

curl -H "Authorization: Bearer YOUR_TOKEN" https://api.graffold.com/v1/search/smart \
  -H "Content-Type: application/json" \
  -d '{"query": "What kinases are involved in apoptosis?"}'

Request Examples

POST /v1/search/smart
{
  "query": "What are the main mechanisms of EGFR resistance in NSCLC?",
  "database": "default"
}

Ingest Entities

POST /v1/ingest
{
  "entities": [
    {"name": "TP53", "type": "GENE", "properties": {"organism": "human"}},
    {"name": "Nutlin-3", "type": "COMPOUND"}
  ],
  "relationships": [
    {"source": "Nutlin-3", "target": "MDM2", "type": "INHIBITS",
     "properties": {"kd_nm": 90, "evidence_level": "in_vitro"}}
  ],
  "resolve_entities": true
}

Validate Targets

POST /v1/atlas/validate-targets
{
  "targets": [
    {"id": "P04637", "name": "TP53", "type": "PROTEIN"},
    {"id": "HALLUCINATED", "name": "FAKE_TARGET", "type": "PROTEIN"}
  ],
  "kg_id": "default"
}

Response:

{
  "validated": [{"name": "TP53", "gnn_score": 0.92}],
  "rejected": [],
  "predicted_novel": [{"name": "FAKE_TARGET", "reason": "not_in_graph"}]
}