Skip to main content

Quickstart

Get up and running with Remem in 4 steps.

Prerequisites

  • A running Remem instance (local or hosted)
  • curl or any HTTP client
1

Sign Up (Public)

Create your tenant and receive your first API key in a single call.
curl -X POST https://api.remem.io/public/signup \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "email": "admin@acme.com"
  }'
Response:
{
  "tenant_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "name": "Acme Corp",
  "email": "admin@acme.com",
  "api_key": "vlt_abc123def456ghi789jkl012mno345pqr678stu901"
}
This endpoint returns both tenant_id and api_key in a single response. The tenant_id identifies your isolated workspace, and the api_key authenticates all future requests.
New workspaces start with a default namespace. You can add more later from the dashboard or the namespace management API.
The full API key is only shown once during signup. Store it securely (e.g., in a password manager or environment variable). If you lose it, create a new key from the dashboard or via the management API with a portal JWT.
2

Ingest a Document

Upload your first document to Remem. Documents can be ingested via JSON body or multipart file upload.JSON body example:
curl -X POST https://api.remem.io/v1/documents/ingest \
  -H "Content-Type: application/json" \
  -H "X-API-Key: vlt_abc123def456ghi789jkl012mno345pqr678stu901" \
  -d '{
    "title": "Meeting Notes - Q1 Planning",
    "content": "We decided to focus on three priorities: expand to EU markets, launch the mobile app by March, and hire two more engineers.",
    "metadata": {"type": "meeting_notes", "date": "2026-01-15"},
    "source_id": "slack://workspace123/channel456/msg789"
  }'
Response:
{
  "job_id": "job_xyz789abc123",
  "document_id": null,
  "message": "Document queued for ingestion"
}
Ingestion is asynchronous. The document is queued for processing and won’t be immediately searchable. Behind the scenes, Remem encrypts the content, chunks it into semantic units, generates embeddings, and classifies it using AI. Most documents are searchable within 5-15 seconds.
If you want the document UUID returned immediately, set "return_id": true in the ingest payload.
Set a source_id to correlate documents with external systems (Slack message IDs, task IDs, sync jobs, session checkpoints). It is stored in document metadata for later traceability.
Multipart file upload alternative:
curl -X POST https://api.remem.io/v1/documents/ingest \
  -H "X-API-Key: vlt_abc123def456ghi789jkl012mno345pqr678stu901" \
  -F "file=@/path/to/document.pdf" \
  -F "metadata={\"type\": \"contract\", \"client\": \"Acme\"}"
3

Query Your Context

Retrieve relevant context using Remem’s query API. You can choose between Fast mode (optimized for speed, <100ms) or Rich mode (includes AI synthesis, <2s).

Fast Mode

Returns raw chunks ranked by semantic similarity. Best for latency-sensitive use cases or when you want to process results yourself.
curl -X POST https://api.remem.io/v1/query \
  -H "Content-Type: application/json" \
  -H "X-API-Key: vlt_abc123def456ghi789jkl012mno345pqr678stu901" \
  -d '{
    "query": "What are our Q1 priorities?",
    "mode": "fast"
  }'
Response:
{
  "mode": "fast",
  "query": "What are our Q1 priorities?",
  "results": [
    {
      "document_id": "doc_123e4567-e89b-12d3-a456-426614174000",
      "title": "Meeting Notes - Q1 Planning",
      "category": "work",
      "tags": ["meeting", "planning", "strategy"],
      "sensitivity": "internal",
      "chunks": [
        {
          "chunk_id": "chunk_abc123",
          "content": "We decided to focus on three priorities: expand to EU markets, launch the mobile app by March, and hire two more engineers.",
          "score": 0.92,
          "metadata": {"type": "meeting_notes", "date": "2026-01-15"}
        }
      ]
    }
  ],
  "total_chunks": 1,
  "latency_ms": 45.2
}

Rich Mode

Includes AI-generated synthesis that answers your query in natural language. Best for end-user applications or agent workflows.
curl -X POST https://api.remem.io/v1/query \
  -H "Content-Type: application/json" \
  -H "X-API-Key: vlt_abc123def456ghi789jkl012mno345pqr678stu901" \
  -d '{
    "query": "What are our Q1 priorities?",
    "mode": "rich"
  }'
Response:
{
  "mode": "rich",
  "query": "What are our Q1 priorities?",
  "synthesis": "Based on your Q1 planning meeting, your team has three main priorities: (1) expanding to EU markets, (2) launching the mobile app by March, and (3) hiring two more engineers.",
  "results": [
    {
      "document_id": "doc_123e4567-e89b-12d3-a456-426614174000",
      "title": "Meeting Notes - Q1 Planning",
      "category": "work",
      "tags": ["meeting", "planning", "strategy"],
      "sensitivity": "internal",
      "chunks": [
        {
          "chunk_id": "chunk_abc123",
          "content": "We decided to focus on three priorities: expand to EU markets, launch the mobile app by March, and hire two more engineers.",
          "score": 0.92,
          "metadata": {"type": "meeting_notes", "date": "2026-01-15"}
        }
      ]
    }
  ],
  "total_chunks": 1,
  "latency_ms": 1847.3
}
Fast mode returns results in <100ms and is ideal for autocomplete, background context retrieval, or when you want to handle synthesis yourself. Rich mode adds AI-powered synthesis and takes ~1-2s, making it perfect for chatbots, Q&A interfaces, or when you want a human-readable answer.
4

Explore Further

Now that you’ve seen the basics, dive deeper into Remem’s capabilities:
  • Documents & Ingestion — Learn about supported formats, metadata, chunking strategies, and batch ingestion.
  • Querying — Explore filtering, sensitivity scoping, reranking, and advanced query options.
  • Namespaces — Learn how workspace sub-isolation, default namespaces, and API-key grants work.
  • Data Lifecycle — Understand how documents are processed, updated, archived, and deleted.
  • MCP Integration — Connect Remem to Claude Desktop or other MCP-compatible tools for seamless context injection.
  • CLI — Use remem-cli for terminal-based query and inspection workflows.
  • Agent Toolkit — Install remem-dev-sessions for Claude/Codex automatic session memory.
  • Authentication — Manage API keys, understand sensitivity levels, and configure tenant settings.

Next Steps

  • Set up continuous ingestion from Slack, Google Drive, or Notion
  • Configure sensitivity scoping to control what data is surfaced in different contexts
  • Integrate Remem with your LLM application or agent framework
  • Explore the MCP server for Claude Desktop integration