Skip to main content

Getting Started

This guide will walk you through setting up your Hindsight Cloud account and creating your first memory bank.

Prerequisites​

  • A Hindsight Cloud account (sign up at ui.hindsight.vectorize.io)
  • Basic understanding of REST APIs or familiarity with Python/TypeScript

Step 1: Sign Up and Log In​

  1. Navigate to ui.hindsight.vectorize.io
  2. Click Sign Up and create your account
  3. Verify your email address
  4. Log in to access your dashboard

Step 2: Create an Organization​

When you first log in, you'll be prompted to create an organization. Organizations are the top-level container for all your resources:

  • Memory banks
  • Team members
  • API keys
  • Billing information

Enter a name for your organization and click Create.

Step 3: Create Your First Memory Bank​

  1. From the dashboard, click Create Memory Bank
  2. Enter a name for your memory bank (e.g., "My AI Assistant")

Step 4: Get Your API Key​

  1. Click the Connect button in the top navigation bar
  2. Click Create API Key
  3. Give your key a descriptive name
  4. Choose an expiration period (or select "Never")
  5. Important: Copy your API key immediately—it won't be shown again!

Step 5: Make Your First API Call​

Using an agent framework or AI tool?

Most teams connect through a pre-built integration: Claude Code, Cursor, LangGraph, CrewAI, the OpenAI Agents SDK, n8n and many more. Give the integration your API key and it handles memory for you. See Integrations, or browse all integrations.

pip install hindsight-client
from hindsight_client import Hindsight

client = Hindsight(
base_url="https://api.hindsight.vectorize.io",
api_key="your-api-key"
)

# Create a memory bank
bank = client.create_bank(
bank_id="my-assistant",
name="My Assistant"
)

# Store a memory
client.retain(
bank_id="my-assistant",
content="The user's name is Alice and she prefers Python."
)

# Retrieve relevant memories
result = client.recall(
bank_id="my-assistant",
query="What is the user's name?"
)

for memory in result.results:
print(memory.text)

# Create a mental model - a pre-computed reflection that stays current
result = client.create_mental_model(
bank_id="my-assistant",
name="User Profile",
source_query="What do we know about this user?"
)
print(f"Creating mental model (operation: {result.operation_id})")

# List mental models
models = client.list_mental_models(bank_id="my-assistant")
for m in models.items:
print(f"{m.name}: {m.content}")

client.close()

Next Steps​