Skip to main content
This guide will walk you through creating your first Intellibase project, ingesting data, and querying it.

Step 1: Get Your API Key

To use Intellibase, you need an API key:
  1. Log in to the Intellibase Dashboard
  2. Navigate to API Keys
  3. Click Create API Key
  4. Copy your key (it starts with ib-)
Store your API key securely. It provides full access to your projects and data.

Step 2: Create a new Project

Intellibase offers two project modes:
  • KG + Vector Mode
  • Vector-Only Mode
Best for: Capturing complex multi-hop relationships, hierarchal understanding, temporal reasoning and high accuracy.Optionally define your custom ontology - You can define a custom ontology for your knowledge graph (with help from AI) so that you get a highly dependable graph that captures all the information that is important to your agent without any unnecessary noise.
  • Custom/ Static Ontology
  • Dynamic Ontology
  1. Use the suggest ontology endpoint to get a suggested ontology by describing the use case or agent persona, optionally sample expected input/ ouput that the agent will be expected to perform.
# Let AI suggest an ontology based on your use case
curl -X POST https://api.intellibase.dev/api/v1/ontologies/suggest \
  -H "Authorization: Bearer ib-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "usecase": "Track software engineering projects, developers, and features"
  }'
  1. Use the create ontology endpoint to save the ontology into Intellibase and generate an ontology ID.
cURL
curl -X POST https://api.intellibase.dev/api/v1/ontologies \
  -H "Authorization: Bearer ib-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Software Engineering",
    "schema": {
      "ontology": {
        "hierarchy": [
          {
            "level": 0,
            "node_types": {
              "Developer": {
                "properties": ["name", "role", "team"],
                "description": "Software developer"
              },
              "Feature": {
                "properties": ["name", "status", "deadline"],
                "description": "Software feature"
              }
            }
          }
        ],
        "edge_types": [
          {
            "name": "WORKS_ON",
            "source_types": ["Developer"],
            "target_types": ["Feature"],
            "properties": ["role"],
            "temporal": true,
            "description": "Developer works on feature"
          }
        ]
      }
    }
  }'
  1. Then create your project with the ontology ID you got from the previous step:
curl -X POST https://api.intellibase.dev/api/v1/projects \
  -H "Authorization: Bearer ib-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Engineering Knowledge Base",
    "ontology_id": "ba879....",
  }'
Save the project_id from the response - you’ll need it for all subsequent operations.

Step 3: Ingest data into your project

Now let’s add some data to your project. We currently only support text input, we’ll soon be adding support for more input data types.
curl -X POST https://api.intellibase.dev/api/v1/projects/{project_id}/ingest \
  -H "Authorization: Bearer ib-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Alice joined the engineering team in January 2024. She is working on the authentication feature, which is part of the security module. The feature is scheduled to launch in March 2024.",
    "source_doc_id": "doc-001",
  }'
The API returns a job ID:
{
  "job_id": "job-abc123",
  "status": "pending",
  "created_at": "2024-01-15T10:30:00Z"
}

Step 4: Check Ingestion Status

Monitor your ingestion job:
curl https://api.intellibase.dev/api/v1/projects/{project_id}/jobs/{job_id} \
  -H "Authorization: Bearer ib-your-api-key"
Response:
{
  "job_id": "job-abc123",
  "project_id": "proj-xyz",
  "status": "completed",
  "chunks_processed": 3,
  "nodes_created": 5,
  "edges_created": 4,
  "started_at": "2024-01-15T10:30:00Z",
  "completed_at": "2024-01-15T10:30:15Z"
}
When status is completed, your data is ready to query!

Step 5: Query Your Data

Ask natural language questions to fetch the most relevant nodes, edges and chunks.
  • Static Mode (Fast)
  • Dynamic Mode (Intelligent)
The static query mode is designed for low latency and does not use AI during retrieval. The results are still of very high quality and better than a basic vanilla vector RAG system.
curl -X POST https://api.intellibase.dev/api/v1/projects/{project_id}/query \
  -H "Authorization: Bearer ib-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "What features is Alice working on?",
    "mode": "static"
  }'
Response:
{
  "query": "What features is Alice working on?",
  "strategy_used": "hybrid",
  "results": {
    "summary": "Alice is working on the authentication feature, which is part of the security module and scheduled to launch in March 2024.",
    "entities": [
      {
        "type": "Person",
        "name": "Alice",
        "properties": {
          "role": "Engineer",
          "joined": "January 2024"
        }
      },
      {
        "type": "Feature",
        "name": "Authentication Feature",
        "properties": {
          "module": "Security",
          "launch_date": "March 2024"
        }
      }
    ],
    "relationships": [
      {
        "source": "Alice",
        "target": "Authentication Feature",
        "type": "WORKS_ON"
      }
    ],
    "chunks": [
      {
        "text": "She is working on the authentication feature...",
        "similarity": 0.89
      }
    ]
  }
}