Skip to content

Getting Started

Welcome to ExoGraph! This guide will help you start building with knowledge graphs and AI reasoning in minutes.

Quick Start Options

  • Zero code? Use ExoGraph from Claude Desktop with MCP → MCP Setup
  • Command line? Use the CLI tool → CLI Guide
  • Programmatic? Continue with REST API below

Quick Start (3 steps)

Step 1: Get Your API Key

  1. Sign up at exograph.ai
  2. Go to Settings → API Keys
  3. Click "Generate Key"
  4. Copy your key (shown only once!)
exo_key_live_a1b2c3d4e5f6...

Your First Key

The API key is your authentication token. Store it securely - it's shown only once during generation!


Step 2: Make Your First Request

bash
curl https://exograph.ai/agent/interactions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "snap",
    "reasoning_engine": "graph",
    "messages": [{
      "role": "user",
      "content": "Hello, ExoGraph!"
    }]
  }'

Response:

json
{
  "messages": [{
    "role": "assistant",
    "content": "Hello! I'm ExoGraph, ready to help you with knowledge graphs..."
  }],
  "usage": {
    "tokens_consumed": 3,
    "balance_remaining": 97,
    "operation": "chat_query",
    "model": "snap"
  }
}

Credit Usage

Every response includes usage information so you can track consumption in real-time.


Step 3: Upload a Document

bash
curl -X POST https://exograph.ai/api/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Graph-Scope: world" \
  -F "file=@paper.pdf"

Response:

json
{
  "doc_id": "doc_abc123",
  "title": "paper.pdf",
  "pages_count": 15,
  "graph_id": "graph_xyz789"
}

🎉 Done! Your document is now a queryable knowledge graph.

World vs Private Graphs

  • World Graph (X-Graph-Scope: world): Your document contributes to shared knowledge. Others can query it, and you earn tokens when they do.
  • Private Graph (X-Graph-Scope: private): Your document stays private. Only you can access it.

Choose based on your needs: share knowledge and earn tokens, or keep it private.


What Can You Build?

1. Research Analysis Tools

Upload research papers, ask questions across multiple documents:

python
# Upload papers
for paper in papers:
    doc = client.documents.upload(paper)

# Query insights
response = client.agent.chat(
    model="snap",
    reasoning_engine="graph",
    messages=[{
        "role": "user",
        "content": "What are the common themes across all papers?"
    }]
)

2. AI Chatbots with Knowledge Graphs

Build chatbots that understand document relationships:

python
# Create knowledge base
kb_graph = client.graphs.create(name="Support KB")

# Chat with context
response = client.agent.chat(
    model="snap",
    target_graph_id=kb_graph.id,
    messages=[{
        "role": "user",
        "content": "How do I reset my password?"
    }]
)

3. Autonomous Research

Let ExoGraph research topics and create structured reports:

python
research = client.agent.research(
    topic="Quantum error correction methods"
)

print(f"Created document: {research.doc_id}")
print(f"Knowledge graph: {research.graph_id}")
print(f"Sources: {len(research.sources)}")

Core Concepts

Documents

Upload PDFs, text files, or documents. ExoGraph automatically:

  • Extracts text
  • Identifies entities (people, concepts, organizations)
  • Builds a knowledge graph of relationships

Knowledge Graphs

Structured representations of knowledge:

  • Nodes: Entities (e.g., "Albert Einstein", "Relativity Theory")
  • Edges: Relationships (e.g., "Albert Einstein" --discovered--> "Relativity Theory")

Graph Scopes:

  • World Graph: Shared knowledge accessible to all users. Contribute documents to earn tokens when others query your knowledge.
  • Private Graph: Your personal knowledge base. Documents stay private and are only accessible to you.

Reasoning Engines

Choose how ExoGraph answers your questions:

EngineDescriptionUse Case
RAGVector similarity searchFast, general queries
GraphKnowledge graph reasoningStructured, precise answers
WebAutonomous web researchComprehensive, current information

Credits

API usage consumes credits from your balance:

OperationSnapPonder
Chat query3 credits10 credits
Research30 credits100 credits
Document upload5 + 1/page5 + 1/page
Search/GraphsFreeFree

Models:

  • Snap: Fast responses for quick conversations
  • Ponder: Deep thinking for complex analysis

Pricing: $1 = 4 credits

Cost Examples
  • 100 chat queries (Snap): 300 credits = $75
  • 10 research jobs (Ponder): 1,000 credits = $250
  • 20 documents (10 pages each): 300 credits = $75

Authentication

All API requests require a valid API key:

bash
# Bearer token (recommended)
Authorization: Bearer exo_key_live_...

# Header (alternative)
X-API-Key: exo_key_live_...

Security

Never expose your API key in client-side code or public repositories!


Rate Limits

LimitValue
Requests per minute60
Requests per day10,000

Rate limit headers in every response:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1697712000

When you hit the limit, you'll receive:

json
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit: 60 requests per minute exceeded"
  }
}

Response Format

All successful responses include usage information:

json
{
  "data": {
    // Endpoint-specific data
  },
    "usage": {
      "tokens_consumed": 3,
      "balance_remaining": 97,
      "operation": "chat_query",
      "model": "snap"
    },
  "meta": {
    "request_id": "req_abc123",
    "timestamp": "2025-10-19T12:00:00Z"
  }
}

Error Handling

json
{
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits. Need 10, have 3.",
    "details": {
      "required": 10,
      "available": 3,
      "purchase_url": "https://exograph.ai/settings/billing"
    }
  },
  "meta": {
    "request_id": "req_abc123"
  }
}

Common errors:

CodeStatusDescription
invalid_api_key401Invalid or expired API key
insufficient_credits402Insufficient credit balance
rate_limit_exceeded429Rate limit exceeded
invalid_request400Invalid request parameters

SDKs & Libraries

Python (Coming Soon)

bash
pip install exograph
python
import exograph

client = exograph.Client(api_key="exo_key_...")

# Upload document
doc = client.documents.upload("paper.pdf")

# Chat
response = client.agent.chat(
    model="snap",
    messages=[{"role": "user", "content": "Summarize this"}]
)

JavaScript/TypeScript (Coming Soon)

bash
npm install exograph
typescript
import { ExographClient } from 'exograph';

const client = new ExographClient({
  apiKey: 'exo_key_...'
});

// Upload document
const doc = await client.documents.upload('paper.pdf');

// Chat
const response = await client.agent.chat({
  model: 'snap',
  messages: [{ role: 'user', content: 'Summarize this' }]
});

Managing Your Balance

Check Balance

bash
curl https://exograph.ai/api/billing/credits \
  -H "Authorization: Bearer YOUR_API_KEY"

Buy Credits

Go to exograph.ai/settings/billing

Packages:

  • 100 credits = $25
  • 500 credits = $100
  • 2,000 credits = $350

Next Steps


Need Help?

Happy Building! 🚀

Released under the MIT License.