Getting Started
Welcome to ExoGraph! This guide will help you start building with knowledge graphs and AI reasoning in minutes.
Quick Start Options
Quick Start (3 steps)
Step 1: Get Your API Key
- Sign up at exograph.ai
- Go to Settings → API Keys
- Click "Generate Key"
- 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
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:
{
"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
curl -X POST https://exograph.ai/api/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Graph-Scope: world" \
-F "file=@paper.pdf"Response:
{
"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:
# 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:
# 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:
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:
| Engine | Description | Use Case |
|---|---|---|
| RAG | Vector similarity search | Fast, general queries |
| Graph | Knowledge graph reasoning | Structured, precise answers |
| Web | Autonomous web research | Comprehensive, current information |
Credits
API usage consumes credits from your balance:
| Operation | Snap | Ponder |
|---|---|---|
| Chat query | 3 credits | 10 credits |
| Research | 30 credits | 100 credits |
| Document upload | 5 + 1/page | 5 + 1/page |
| Search/Graphs | Free | Free |
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:
# 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
| Limit | Value |
|---|---|
| Requests per minute | 60 |
| Requests per day | 10,000 |
Rate limit headers in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1697712000When you hit the limit, you'll receive:
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit: 60 requests per minute exceeded"
}
}Response Format
All successful responses include usage information:
{
"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
{
"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:
| Code | Status | Description |
|---|---|---|
invalid_api_key | 401 | Invalid or expired API key |
insufficient_credits | 402 | Insufficient credit balance |
rate_limit_exceeded | 429 | Rate limit exceeded |
invalid_request | 400 | Invalid request parameters |
SDKs & Libraries
Python (Coming Soon)
pip install exographimport 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)
npm install exographimport { 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
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
Complete endpoint documentation💻 Code Examples
Common use cases✨ Best Practices
Tips for production use
Need Help?
- Documentation: docs.exograph.ai
- Support: support@exograph.ai
- Status: status.exograph.ai
Happy Building! 🚀