Beever Atlas v0.1 has launched! Star us on GitHub
Beever AtlasBeever Atlas

Memories API

Overview

Access and query extracted atomic facts (memories) from team communications.

GET /api/memories

List all memories/facts with filtering and pagination.

Query Parameters

Prop

Type

Response

{
  "memories": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "memory_text": "The team decided to use JWT tokens for authentication.",
      "quality_score": 0.85,
      "tier": "atomic",
      "channel_id": "C12345",
      "author_name": "Jane Smith",
      "message_ts": "2026-04-13T10:30:00Z",
      "topic_tags": ["authentication", "security"],
      "entity_tags": ["JWT", "OAuth"],
      "importance": "high",
      "fact_type": "decision",
      "source_message_id": "1234567890.123456",
      "permalink": "https://slack.com/archives/..."
    }
  ],
  "total": 856,
  "page": 1,
  "pages": 43
}

GET /api/memories/{memory_id}

Get a specific memory by ID.

Parameters

Prop

Type

Response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "memory_text": "The team decided to use JWT tokens for authentication.",
  "quality_score": 0.85,
  "tier": "atomic",
  "cluster_id": "topic_123",
  "channel_id": "C12345",
  "platform": "slack",
  "author_id": "U12345",
  "author_name": "Jane Smith",
  "message_ts": "2026-04-13T10:30:00Z",
  "thread_ts": null,
  "source_message_id": "1234567890.123456",
  "topic_tags": ["authentication", "security"],
  "entity_tags": ["JWT", "OAuth"],
  "action_tags": [],
  "importance": "high",
  "graph_entity_ids": ["entity_jwt_decision"],
  "fact_type": "decision",
  "thread_context_summary": "After discussing trade-offs...",
  "valid_at": "2026-04-13T10:30:00Z",
  "invalid_at": null,
  "superseded_by": null,
  "potential_contradiction": false,
  "source_lang": "en"
}

POST /api/memories/search

Advanced search across memories with filters.

Request Body

{
  "channel_id": "C12345",
  "query": "authentication security",
  "filters": {
    "importance": ["high", "medium"],
    "fact_types": ["decision"],
    "entities": ["JWT"],
    "date_range": {
      "start": "2026-01-01T00:00:00Z",
      "end": "2026-04-13T23:59:59Z"
    }
  },
  "sort": "relevance",
  "limit": 20
}

Response

{
  "results": [
    {
      "memory": {...},
      "score": 0.95,
      "highlights": ["The team decided to use <mark>JWT</mark> tokens..."]
    }
  ],
  "total": 15,
  "query_time_ms": 45
}

GET /api/memories/topics

List all topic tags across memories.

Parameters

Prop

Type

Response

{
  "topics": [
    {"tag": "authentication", "count": 45},
    {"tag": "deployment", "count": 32},
    {"tag": "api", "count": 28}
  ]
}

GET /api/memories/entities

List all entity tags across memories.

Response

{
  "entities": [
    {"name": "JWT", "count": 23},
    {"name": "PostgreSQL", "count": 18},
    {"name": "Redis", "count": 15}
  ]
}

Memory Quality Scores

Memories are scored 0.0 to 1.0 based on:

  • Information Density: Specific vs. general content
  • Actionability: Contains decisions or action items
  • Specificity: Concrete details vs. vague statements
  • Recency: Adjusted for staleness over time

Quality Bands

ScoreQualityDescription
0.8-1.0HighDecisions, concrete action items, specific technical details
0.5-0.8MediumOpinions, observations, contextual information
0.0-0.5LowGeneral statements, ambiguous content

Memory Types

TypeDescriptionExamples
decisionDecisions made, conclusions reached"We chose PostgreSQL over MongoDB"
opinionOpinions, preferences, suggestions"I think we should use TypeScript"
observationObservations, facts noted"The API response time increased"
action_itemTasks to be done"Need to update the documentation"
questionQuestions asked"What's the token expiration time?"
How is this guide?

On this page

Ready for production?

Ship to production with SSO, audit logs, spend controls, and guardrails your security team will approve.

Talk to the team

or email hello@beever.ai