Docs K  Search
Docs/Getting started/Quickstart
5 minute setup

Quickstart Guide

Get your AI remembering things in under 5 minutes.

1
Get Your API Key
Sign up and create an API key from the dashboard.
2
Install the SDK
Choose Python or TypeScript and install the package.
3
Start Building
Add memories and search with just a few lines of code.

01. Step 1: Create an account & get an API key

Brand new to Hebbrix? Follow these three short steps:

  1. Sign up at /signup using an email & password (free tier: 1,000 credits/month, no credit card required).
  2. Confirm your email, then log in to the Developer Dashboard.
  3. Open Dashboard → API Keys and click Create key. Copy it: you only see the full value once.

Prefer scripting the signup? You can also hit POST /v1/auth/register with {email, password, full_name} and use the returned access_token directly.

Terminal
export HEBBRIX_API_KEY="mem_sk_your_api_key_here"

02. Step 2: Install the SDK

We support Python and TypeScript. Pick your favorite:

pip install hebbrix

03. Step 3: Create Your First Memory

Store a memory and then search for it. That's all it takes.

import asyncio
from hebbrix import MemoryClient

async def main():
    async with MemoryClient(api_key="mem_sk_...") as client:
        # Create a collection (first time only)
        collection = await client.collections.create(name="my-first-agent")

        # Store a memory
        memory = await client.memories.create(
            collection_id=collection["id"],
            content="User prefers dark mode and uses Python for development",
        )
        print(f"Created memory: {memory['id']}")

        # Search it
        results = await client.search(
            query="what programming language does the user prefer?",
            collection_id=collection["id"],
        )
        for r in results:
            print(f"Found: {r['content']}")

asyncio.run(main())

04. Step 4: Organize with collections

Collections are buckets you can route memories, documents, and media into. If you don't pick one, Hebbrix assigns everything to your __default__ collection, which is fine for solo experiments but hard to untangle once you have real traffic. A minute spent creating a collection now saves an hour of sorting later.

Python (Collection-scoped workflow)
import requests

BASE = "https://api.hebbrix.com/v1"
H = {"Authorization": f"Bearer {YOUR_API_KEY}"}

# 1) Create a collection for this customer / project / agent
r = requests.post(f"{BASE}/collections",
                  headers=H,
                  json={"name": "customer-acme", "description": "Acme Corp data"})
collection_id = r.json()["id"]

# 2) Store a memory INSIDE that collection
requests.post(f"{BASE}/memories/raw",
              headers=H,
              json={"content": "Acme uses Python on the backend",
                    "collection_id": collection_id})

# 3) Search inside that collection only
results = requests.post(f"{BASE}/search",
                        headers=H,
                        json={"query": "What does Acme use?",
                              "collection_id": collection_id}).json()

# 4) Delete the collection when the customer leaves. This also removes
# every memory, document, and media file inside it in a single call.
requests.delete(f"{BASE}/collections/{collection_id}", headers=H)
Want to enforce explicit routing? Add the header X-Hebbrix-Require-Collection: true on any upload / create request. Missing collection_id will return HTTP 422 instead of silently defaulting.
Deleting a collection is destructive. It hard-deletes every memory, document, and media file inside, so no orphans are left behind. The collection ID becomes unusable. Back up anything you need first, or use DELETE /v1/memories/{id} to remove individual items.

05. Bonus: OpenAI-Compatible Chat

Use our chat completions endpoint as a drop-in replacement for OpenAI. Memories are automatically injected into the context.

OpenAI-Compatible
from openai import OpenAI

# Point to Hebbrix instead of OpenAI
client = OpenAI(
    api_key="your_hebbrix_api_key",
    base_url="https://api.hebbrix.com/v1"
)

# Chat with memory
response = client.chat.completions.create(
    model="gpt-5-nano",  # or any allowed model
    messages=[
        {"role": "user", "content": "What do I prefer?"}
    ]
)

# The response will include relevant memories automatically
print(response.choices[0].message.content)

What's Next?

Now that you've got the basics, explore more features:

Ask the docs
reading · this page

Hi! I'm the Hebbrix docs assistant. Ask me anything about this page: setup, code examples, endpoints, pricing, or integrations.