Download OpenAPI specification:Download
HTTP API for Hindsight
Returns API version information and enabled feature flags. Use this to check which capabilities are available in this deployment.
| api_version required | string (Api Version) API version string |
required | object (FeaturesInfo) Enabled feature flags |
{- "api_version": "1.0.0",
- "features": {
- "mcp": true,
- "mental_models": false,
- "worker": true
}
}Retrieve graph data for visualization, optionally filtered by type (world/experience/opinion).
| bank_id required | string (Bank Id) |
Type (string) or Type (null) (Type) | |
| limit | integer (Limit) Default: 1000 |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Nodes) |
required | Array of objects (Edges) |
required | Array of objects (Table Rows) |
| total_units required | integer (Total Units) |
| limit required | integer (Limit) |
{- "edges": [
- {
- "from": "1",
- "to": "2",
- "type": "semantic",
- "weight": 0.8
}
], - "limit": 1000,
- "nodes": [
- {
- "id": "1",
- "label": "Alice works at Google",
- "type": "world"
}, - {
- "id": "2",
- "label": "Bob went hiking",
- "type": "world"
}
], - "table_rows": [
- {
- "context": "Work info",
- "date": "2024-01-15 10:30",
- "entities": "Alice (PERSON), Google (ORGANIZATION)",
- "id": "abc12345...",
- "text": "Alice works at Google"
}
], - "total_units": 2
}List memory units with pagination and optional full-text search. Supports filtering by type. Results are sorted by most recent first (mentioned_at DESC, then created_at DESC).
| bank_id required | string (Bank Id) |
Type (string) or Type (null) (Type) | |
Q (string) or Q (null) (Q) | |
| limit | integer (Limit) Default: 100 |
| offset | integer (Offset) Default: 0 |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) |
| total required | integer (Total) |
| limit required | integer (Limit) |
| offset required | integer (Offset) |
{- "items": [
- {
- "context": "Work conversation",
- "date": "2024-01-15T10:30:00Z",
- "entities": "Alice (PERSON), Google (ORGANIZATION)",
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "text": "Alice works at Google on the AI team",
- "type": "world"
}
], - "limit": 100,
- "offset": 0,
- "total": 150
}Get a single memory unit by ID with all its metadata including entities and tags.
| bank_id required | string (Bank Id) |
| memory_id required | string (Memory Id) |
Authorization (string) or Authorization (null) (Authorization) |
nullRecall memory using semantic similarity and spreading activation.
The type parameter is optional and must be one of:
world: General knowledge about people, places, events, and things that happenexperience: Memories about experience, conversations, actions taken, and tasks performedopinion: The bank's formed beliefs, perspectives, and viewpointsSet include_entities=true to get entity observations alongside recall results.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| query required | string (Query) |
Array of Types (strings) or Types (null) (Types) List of fact types to recall: 'world', 'experience', 'mental_model'. Defaults to world and experience if not specified. Note: 'opinion' is accepted but ignored (opinions are excluded from recall). | |
| budget | string (Budget) Default: "mid" Enum: "low" "mid" "high" Budget levels for recall/reflect operations. |
| max_tokens | integer (Max Tokens) Default: 4096 |
| trace | boolean (Trace) Default: false |
Query Timestamp (string) or Query Timestamp (null) (Query Timestamp) ISO format date string (e.g., '2023-05-30T23:40:00') | |
object (IncludeOptions) Options for including additional data (entities are included by default) | |
Array of Tags (strings) or Tags (null) (Tags) Filter memories by tags. If not specified, all memories are returned. | |
| tags_match | string (Tags Match) Default: "any" Enum: "any" "all" "any_strict" "all_strict" How to match tags: 'any' (OR, includes untagged), 'all' (AND, includes untagged), 'any_strict' (OR, excludes untagged), 'all_strict' (AND, excludes untagged). |
required | Array of objects (Results) |
Trace (object) or Trace (null) (Trace) | |
Entities (object) or Entities (null) (Entities) Entity states for entities mentioned in results | |
Chunks (object) or Chunks (null) (Chunks) Chunks for facts, keyed by chunk_id |
{- "budget": "mid",
- "include": {
- "entities": {
- "max_tokens": 500
}
}, - "max_tokens": 4096,
- "query": "What did Alice say about machine learning?",
- "query_timestamp": "2023-05-30T23:40:00",
- "tags": [
- "user_a"
], - "tags_match": "any",
- "trace": true,
- "types": [
- "world",
- "experience"
]
}{- "chunks": {
- "456e7890-e12b-34d5-a678-901234567890": {
- "chunk_index": 0,
- "id": "456e7890-e12b-34d5-a678-901234567890",
- "text": "Alice works at Google on the AI team. She's been there for 3 years..."
}
}, - "entities": {
- "Alice": {
- "canonical_name": "Alice",
- "entity_id": "123e4567-e89b-12d3-a456-426614174001",
- "observations": [
- {
- "mentioned_at": "2024-01-15T10:30:00Z",
- "text": "Alice works at Google on the AI team"
}
]
}
}, - "results": [
- {
- "chunk_id": "456e7890-e12b-34d5-a678-901234567890",
- "context": "work info",
- "entities": [
- "Alice",
- "Google"
], - "id": "123e4567-e89b-12d3-a456-426614174000",
- "occurred_end": "2024-01-15T10:30:00Z",
- "occurred_start": "2024-01-15T10:30:00Z",
- "text": "Alice works at Google on the AI team",
- "type": "world"
}
], - "trace": {
- "num_results": 1,
- "query": "What did Alice say about machine learning?",
- "time_seconds": 0.123
}
}Reflect and formulate an answer using bank identity, world facts, and opinions.
This endpoint:
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| query required | string (Query) |
| budget | string (Budget) Default: "low" Enum: "low" "mid" "high" Budget levels for recall/reflect operations. |
Context (string) or Context (null) (Context) Deprecated DEPRECATED: Additional context is now concatenated with the query. Pass context directly in the query field instead. If provided, it will be appended to the query for backward compatibility. | |
| max_tokens | integer (Max Tokens) Default: 4096 Maximum tokens for the response |
object (ReflectIncludeOptions) Options for including additional data (disabled by default) | |
Response Schema (object) or Response Schema (null) (Response Schema) Optional JSON Schema for structured output. When provided, the response will include a 'structured_output' field with the LLM response parsed according to this schema. | |
Array of Tags (strings) or Tags (null) (Tags) Filter memories by tags during reflection. If not specified, all memories are considered. | |
| tags_match | string (Tags Match) Default: "any" Enum: "any" "all" "any_strict" "all_strict" How to match tags: 'any' (OR, includes untagged), 'all' (AND, includes untagged), 'any_strict' (OR, excludes untagged), 'all_strict' (AND, excludes untagged). |
| text required | string (Text) |
ReflectBasedOn (object) or null Evidence used to generate the response. Only present when include.facts is set. | |
Structured Output (object) or Structured Output (null) (Structured Output) Structured output parsed according to the request's response_schema. Only present when response_schema was provided in the request. | |
TokenUsage (object) or null Token usage metrics for LLM calls during reflection. | |
ReflectTrace (object) or null Execution trace of tool and LLM calls. Only present when include.tool_calls is set. |
{- "budget": "low",
- "include": {
- "facts": { }
}, - "max_tokens": 4096,
- "query": "What do you think about artificial intelligence?",
- "response_schema": {
- "properties": {
- "summary": {
- "type": "string"
}, - "key_points": {
- "items": {
- "type": "string"
}, - "type": "array"
}
}, - "required": [
- "summary",
- "key_points"
], - "type": "object"
}, - "tags": [
- "user_a"
], - "tags_match": "any"
}{- "based_on": {
- "memories": [
- {
- "id": "123",
- "text": "AI is used in healthcare",
- "type": "world"
}, - {
- "id": "456",
- "text": "I discussed AI applications last week",
- "type": "experience"
}
]
}, - "structured_output": {
- "key_points": [
- "Used in healthcare",
- "Discussed recently"
], - "summary": "AI is transformative"
}, - "text": "Based on my understanding, AI is a transformative technology...",
- "trace": {
- "llm_calls": [
- {
- "duration_ms": 1200,
- "scope": "agent_1"
}
], - "mental_models": [
- {
- "id": "mm-1",
- "name": "AI Technology",
- "subtype": "structural",
- "type": "concept"
}
], - "tool_calls": [
- {
- "duration_ms": 150,
- "input": {
- "query": "AI"
}, - "tool": "recall"
}
]
}, - "usage": {
- "input_tokens": 1500,
- "output_tokens": 500,
- "total_tokens": 2000
}
}Retain memory items with automatic fact extraction.
This is the main endpoint for storing memories. It supports both synchronous and asynchronous processing via the async parameter.
Features:
The system automatically:
When async=true: Returns immediately after queuing. Use the operations endpoint to monitor progress.
When async=false (default): Waits for processing to complete.
Note: If a memory item has a document_id that already exists, the old document and its memory units will be deleted before creating new ones (upsert behavior).
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) |
| async | boolean (Async) Default: false If true, process asynchronously in background. If false, wait for completion (default: false) |
Array of Document Tags (strings) or Document Tags (null) (Document Tags) Tags applied to all items in this request. These are merged with any item-level tags. |
| success required | boolean (Success) |
| bank_id required | string (Bank Id) |
| items_count required | integer (Items Count) |
| async required | boolean (Async) Whether the operation was processed asynchronously |
Operation Id (string) or Operation Id (null) (Operation Id) Operation ID for tracking async operations. Use GET /v1/default/banks/{bank_id}/operations to list operations and find this ID. Only present when async=true. | |
TokenUsage (object) or null Token usage metrics for LLM calls during fact extraction (only present for synchronous operations) |
{- "async": false,
- "document_tags": [
- "user_a",
- "user_b"
], - "items": [
- {
- "content": "Alice works at Google",
- "context": "work",
- "document_id": "conversation_123"
}, - {
- "content": "Bob went hiking yesterday",
- "document_id": "conversation_123",
- "timestamp": "2024-01-15T10:00:00Z"
}
]
}{- "async": false,
- "bank_id": "user123",
- "items_count": 2,
- "success": true,
- "usage": {
- "input_tokens": 500,
- "output_tokens": 100,
- "total_tokens": 600
}
}Delete memory units for a memory bank. Optionally filter by type (world, experience, opinion) to delete only specific types. This is a destructive operation that cannot be undone. The bank profile (disposition and background) will be preserved.
| bank_id required | string (Bank Id) |
Type (string) or Type (null) (Type) Optional fact type filter (world, experience, opinion) |
Authorization (string) or Authorization (null) (Authorization) |
| success required | boolean (Success) |
Message (string) or Message (null) (Message) | |
Deleted Count (integer) or Deleted Count (null) (Deleted Count) |
{- "deleted_count": 10,
- "message": "Deleted successfully",
- "success": true
}Get a list of all agents with their profiles
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Banks) | ||||||||||||
Array
| |||||||||||||
{- "banks": [
- {
- "bank_id": "user123",
- "created_at": "2024-01-15T10:30:00Z",
- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a software engineer helping my team ship quality code",
- "name": "Alice",
- "updated_at": "2024-01-16T14:20:00Z"
}
]
}Get statistics about nodes and links for a specific agent
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| bank_id required | string (Bank Id) |
| total_nodes required | integer (Total Nodes) |
| total_links required | integer (Total Links) |
| total_documents required | integer (Total Documents) |
required | object (Nodes By Fact Type) |
required | object (Links By Link Type) |
required | object (Links By Fact Type) |
required | object (Links Breakdown) |
| pending_operations required | integer (Pending Operations) |
| failed_operations required | integer (Failed Operations) |
Last Consolidated At (string) or Last Consolidated At (null) (Last Consolidated At) When consolidation last ran (ISO format) | |
| pending_consolidation | integer (Pending Consolidation) Default: 0 Number of memories not yet processed into mental models |
| total_mental_models | integer (Total Mental Models) Default: 0 Total number of mental models |
{- "bank_id": "user123",
- "failed_operations": 0,
- "last_consolidated_at": "2024-01-15T10:30:00Z",
- "links_breakdown": {
- "fact": {
- "entity": 40,
- "semantic": 60,
- "temporal": 100
}
}, - "links_by_fact_type": {
- "fact": 200,
- "observation": 40,
- "preference": 60
}, - "links_by_link_type": {
- "entity": 50,
- "semantic": 100,
- "temporal": 150
}, - "nodes_by_fact_type": {
- "fact": 100,
- "observation": 20,
- "preference": 30
}, - "pending_consolidation": 0,
- "pending_operations": 2,
- "total_documents": 10,
- "total_links": 300,
- "total_mental_models": 45,
- "total_nodes": 150
}Get disposition traits and mission for a memory bank. Auto-creates agent with defaults if not exists.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
required | object (DispositionTraits) Disposition traits that influence how memories are formed and interpreted. |
| mission required | string (Mission) The agent's mission - who they are and what they're trying to accomplish |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
{- "bank_id": "user123",
- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a software engineer helping my team stay organized and ship quality code",
- "name": "Alice"
}Update bank's disposition traits (skepticism, literalism, empathy)
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
required | object (DispositionTraits) Disposition traits that influence how memories are formed and interpreted. | ||||||
| |||||||
| bank_id required | string (Bank Id) |
| name required | string (Name) |
required | object (DispositionTraits) Disposition traits that influence how memories are formed and interpreted. |
| mission required | string (Mission) The agent's mission - who they are and what they're trying to accomplish |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
{- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}
}{- "bank_id": "user123",
- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a software engineer helping my team stay organized and ship quality code",
- "name": "Alice"
}Deprecated: Use PUT /mission instead. This endpoint now updates the mission field.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| content required | string (Content) New background information to add or merge |
| update_disposition | boolean (Update Disposition) Default: true Deprecated - disposition is no longer auto-inferred from mission |
| mission required | string (Mission) |
Background (string) or Background (null) (Background) Deprecated: same as mission | |
DispositionTraits (object) or null |
{- "content": "I was born in Texas",
- "update_disposition": true
}{- "mission": "I was born in Texas. I am a software engineer with 10 years of experience."
}Create a new agent or update existing agent with disposition and mission. Auto-fills missing fields with defaults.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
Name (string) or Name (null) (Name) | |
DispositionTraits (object) or null | |
Mission (string) or Mission (null) (Mission) The agent's mission | |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
required | object (DispositionTraits) Disposition traits that influence how memories are formed and interpreted. |
| mission required | string (Mission) The agent's mission - who they are and what they're trying to accomplish |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
{- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a PM helping my engineering team stay organized",
- "name": "Alice"
}{- "bank_id": "user123",
- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a software engineer helping my team stay organized and ship quality code",
- "name": "Alice"
}Partially update an agent's profile. Only provided fields will be updated.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
Name (string) or Name (null) (Name) | |
DispositionTraits (object) or null | |
Mission (string) or Mission (null) (Mission) The agent's mission | |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
required | object (DispositionTraits) Disposition traits that influence how memories are formed and interpreted. |
| mission required | string (Mission) The agent's mission - who they are and what they're trying to accomplish |
Background (string) or Background (null) (Background) Deprecated: use mission instead |
{- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a PM helping my engineering team stay organized",
- "name": "Alice"
}{- "bank_id": "user123",
- "disposition": {
- "empathy": 3,
- "literalism": 3,
- "skepticism": 3
}, - "mission": "I am a software engineer helping my team stay organized and ship quality code",
- "name": "Alice"
}Delete an entire memory bank including all memories, entities, documents, and the bank profile itself. This is a destructive operation that cannot be undone.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| success required | boolean (Success) |
Message (string) or Message (null) (Message) | |
Deleted Count (integer) or Deleted Count (null) (Deleted Count) |
{- "deleted_count": 10,
- "message": "Deleted successfully",
- "success": true
}Delete all mental models for a memory bank. This is useful for resetting the consolidated knowledge.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| success required | boolean (Success) |
Message (string) or Message (null) (Message) | |
Deleted Count (integer) or Deleted Count (null) (Deleted Count) |
{- "deleted_count": 10,
- "message": "Deleted successfully",
- "success": true
}Run memory consolidation to create/update mental models from recent memories.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| operation_id required | string (Operation Id) ID of the async consolidation operation |
| deduplicated | boolean (Deduplicated) Default: false True if an existing pending task was reused |
{- "operation_id": "string",
- "deduplicated": false
}List all entities (people, organizations, etc.) known by the bank, ordered by mention count. Supports pagination.
| bank_id required | string (Bank Id) |
| limit | integer (Limit) Default: 100 Maximum number of entities to return |
| offset | integer (Offset) Default: 0 Offset for pagination |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) |
| total required | integer (Total) |
| limit required | integer (Limit) |
| offset required | integer (Offset) |
{- "items": [
- {
- "canonical_name": "John",
- "first_seen": "2024-01-15T10:30:00Z",
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "last_seen": "2024-02-01T14:00:00Z",
- "mention_count": 15
}
], - "limit": 100,
- "offset": 0,
- "total": 150
}Get detailed information about an entity including observations (mental model).
| bank_id required | string (Bank Id) |
| entity_id required | string (Entity Id) |
Authorization (string) or Authorization (null) (Authorization) |
| id required | string (Id) |
| canonical_name required | string (Canonical Name) |
| mention_count required | integer (Mention Count) |
First Seen (string) or First Seen (null) (First Seen) | |
Last Seen (string) or Last Seen (null) (Last Seen) | |
Metadata (object) or Metadata (null) (Metadata) | |
required | Array of objects (Observations) |
{- "canonical_name": "John",
- "first_seen": "2024-01-15T10:30:00Z",
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "last_seen": "2024-02-01T14:00:00Z",
- "mention_count": 15,
- "observations": [
- {
- "mentioned_at": "2024-01-15T10:30:00Z",
- "text": "John works at Google"
}
]
}This endpoint is deprecated. Entity observations have been replaced by mental models.
| bank_id required | string (Bank Id) |
| entity_id required | string (Entity Id) |
Authorization (string) or Authorization (null) (Authorization) |
| id required | string (Id) |
| canonical_name required | string (Canonical Name) |
| mention_count required | integer (Mention Count) |
First Seen (string) or First Seen (null) (First Seen) | |
Last Seen (string) or Last Seen (null) (Last Seen) | |
Metadata (object) or Metadata (null) (Metadata) | |
required | Array of objects (Observations) |
{- "canonical_name": "John",
- "first_seen": "2024-01-15T10:30:00Z",
- "id": "123e4567-e89b-12d3-a456-426614174000",
- "last_seen": "2024-02-01T14:00:00Z",
- "mention_count": 15,
- "observations": [
- {
- "mentioned_at": "2024-01-15T10:30:00Z",
- "text": "John works at Google"
}
]
}List user-curated living documents that stay current.
| bank_id required | string (Bank Id) |
Array of Tags (strings) or Tags (null) (Tags) Filter by tags | |
| tags_match | string (Tags Match) Default: "any" Enum: "any" "all" "exact" How to match tags |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 |
| offset | integer (Offset) >= 0 Default: 0 |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) | ||||||||||||||||||
Array
| |||||||||||||||||||
{- "items": [
- {
- "id": "string",
- "bank_id": "string",
- "name": "string",
- "source_query": "string",
- "content": "string",
- "tags": [
- "string"
], - "last_refreshed_at": "string",
- "created_at": "string",
- "reflect_response": { }
}
]
}Create a reflection by running reflect with the source query in the background. Returns an operation ID to track progress. The content is auto-generated by the reflect endpoint. Use the operations endpoint to check completion status.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| name required | string (Name) Human-readable name for the reflection |
| source_query required | string (Source Query) The query to run to generate content |
| tags | Array of strings (Tags) Tags for scoped visibility |
| max_tokens | integer (Max Tokens) [ 256 .. 8192 ] Default: 2048 Maximum tokens for generated content |
| operation_id required | string (Operation Id) Operation ID to track progress |
{- "max_tokens": 2048,
- "name": "Team Communication Preferences",
- "source_query": "How does the team prefer to communicate?",
- "tags": [
- "team"
]
}{- "operation_id": "string"
}Get a specific reflection by ID.
| bank_id required | string (Bank Id) |
| reflection_id required | string (Reflection Id) |
Authorization (string) or Authorization (null) (Authorization) |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
| source_query required | string (Source Query) |
| content required | string (Content) |
| tags | Array of strings (Tags) |
Last Refreshed At (string) or Last Refreshed At (null) (Last Refreshed At) | |
Created At (string) or Created At (null) (Created At) | |
Reflect Response (object) or Reflect Response (null) (Reflect Response) Full reflect API response payload including based_on facts and mental_models |
{- "id": "string",
- "bank_id": "string",
- "name": "string",
- "source_query": "string",
- "content": "string",
- "tags": [
- "string"
], - "last_refreshed_at": "string",
- "created_at": "string",
- "reflect_response": { }
}Update a reflection's name.
| bank_id required | string (Bank Id) |
| reflection_id required | string (Reflection Id) |
Authorization (string) or Authorization (null) (Authorization) |
Name (string) or Name (null) (Name) New name for the reflection | |
Any of string (Name) New name for the reflection | |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
| source_query required | string (Source Query) |
| content required | string (Content) |
| tags | Array of strings (Tags) |
Last Refreshed At (string) or Last Refreshed At (null) (Last Refreshed At) | |
Created At (string) or Created At (null) (Created At) | |
Reflect Response (object) or Reflect Response (null) (Reflect Response) Full reflect API response payload including based_on facts and mental_models |
{- "name": "Updated Team Communication Preferences"
}{- "id": "string",
- "bank_id": "string",
- "name": "string",
- "source_query": "string",
- "content": "string",
- "tags": [
- "string"
], - "last_refreshed_at": "string",
- "created_at": "string",
- "reflect_response": { }
}Delete a reflection.
| bank_id required | string (Bank Id) |
| reflection_id required | string (Reflection Id) |
Authorization (string) or Authorization (null) (Authorization) |
nullSubmit an async task to re-run the source query through reflect and update the content.
| bank_id required | string (Bank Id) |
| reflection_id required | string (Reflection Id) |
Authorization (string) or Authorization (null) (Authorization) |
| operation_id required | string (Operation Id) |
| status required | string (Status) |
{- "operation_id": "550e8400-e29b-41d4-a716-446655440000",
- "status": "queued"
}List hard rules that are injected into prompts.
| bank_id required | string (Bank Id) |
Array of Tags (strings) or Tags (null) (Tags) Filter by tags | |
| tags_match | string (Tags Match) Default: "any" Enum: "any" "all" "exact" How to match tags |
| active_only | boolean (Active Only) Default: true Only return active directives |
| limit | integer (Limit) [ 1 .. 1000 ] Default: 100 |
| offset | integer (Offset) >= 0 Default: 0 |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) | ||||||||||||||||||
Array
| |||||||||||||||||||
{- "items": [
- {
- "id": "string",
- "bank_id": "string",
- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
], - "created_at": "string",
- "updated_at": "string"
}
]
}Create a hard rule that will be injected into prompts.
| bank_id required | string (Bank Id) |
Authorization (string) or Authorization (null) (Authorization) |
| name required | string (Name) Human-readable name for the directive |
| content required | string (Content) The directive text to inject into prompts |
| priority | integer (Priority) Default: 0 Higher priority directives are injected first |
| is_active | boolean (Is Active) Default: true Whether this directive is active |
| tags | Array of strings (Tags) Tags for filtering |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
| content required | string (Content) |
| priority | integer (Priority) Default: 0 |
| is_active | boolean (Is Active) Default: true |
| tags | Array of strings (Tags) |
Created At (string) or Created At (null) (Created At) | |
Updated At (string) or Updated At (null) (Updated At) |
{- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
]
}{- "id": "string",
- "bank_id": "string",
- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
], - "created_at": "string",
- "updated_at": "string"
}Get a specific directive by ID.
| bank_id required | string (Bank Id) |
| directive_id required | string (Directive Id) |
Authorization (string) or Authorization (null) (Authorization) |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
| content required | string (Content) |
| priority | integer (Priority) Default: 0 |
| is_active | boolean (Is Active) Default: true |
| tags | Array of strings (Tags) |
Created At (string) or Created At (null) (Created At) | |
Updated At (string) or Updated At (null) (Updated At) |
{- "id": "string",
- "bank_id": "string",
- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
], - "created_at": "string",
- "updated_at": "string"
}Update a directive's properties.
| bank_id required | string (Bank Id) |
| directive_id required | string (Directive Id) |
Authorization (string) or Authorization (null) (Authorization) |
Name (string) or Name (null) (Name) New name | |
Content (string) or Content (null) (Content) New content | |
Priority (integer) or Priority (null) (Priority) New priority | |
Is Active (boolean) or Is Active (null) (Is Active) New active status | |
Array of Tags (strings) or Tags (null) (Tags) New tags |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| name required | string (Name) |
| content required | string (Content) |
| priority | integer (Priority) Default: 0 |
| is_active | boolean (Is Active) Default: true |
| tags | Array of strings (Tags) |
Created At (string) or Created At (null) (Created At) | |
Updated At (string) or Updated At (null) (Updated At) |
{- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
]
}{- "id": "string",
- "bank_id": "string",
- "name": "string",
- "content": "string",
- "priority": 0,
- "is_active": true,
- "tags": [
- "string"
], - "created_at": "string",
- "updated_at": "string"
}Delete a directive.
| bank_id required | string (Bank Id) |
| directive_id required | string (Directive Id) |
Authorization (string) or Authorization (null) (Authorization) |
nullList documents with pagination and optional search. Documents are the source content from which memory units are extracted.
| bank_id required | string (Bank Id) |
Q (string) or Q (null) (Q) | |
| limit | integer (Limit) Default: 100 |
| offset | integer (Offset) Default: 0 |
Authorization (string) or Authorization (null) (Authorization) |
required | Array of objects (Items) |
| total required | integer (Total) |
| limit required | integer (Limit) |
| offset required | integer (Offset) |
{- "items": [
- {
- "bank_id": "user123",
- "content_hash": "abc123",
- "created_at": "2024-01-15T10:30:00Z",
- "id": "session_1",
- "memory_unit_count": 15,
- "text_length": 5420,
- "updated_at": "2024-01-15T10:30:00Z"
}
], - "limit": 100,
- "offset": 0,
- "total": 50
}Get a specific document including its original text
| bank_id required | string (Bank Id) |
| document_id required | string (Document Id) |
Authorization (string) or Authorization (null) (Authorization) |
| id required | string (Id) |
| bank_id required | string (Bank Id) |
| original_text required | string (Original Text) |
required | Content Hash (string) or Content Hash (null) (Content Hash) |
| created_at required | string (Created At) |
| updated_at required | string (Updated At) |
| memory_unit_count required | integer (Memory Unit Count) |
| tags | Array of strings (Tags) Tags associated with this document |
{- "bank_id": "user123",
- "content_hash": "abc123",
- "created_at": "2024-01-15T10:30:00Z",
- "id": "session_1",
- "memory_unit_count": 15,
- "original_text": "Full document text here...",
- "tags": [
- "user_a",
- "session_123"
], - "updated_at": "2024-01-15T10:30:00Z"
}Delete a document and all its associated memory units and links.
This will cascade delete:
This operation cannot be undone.
| bank_id required | string (Bank Id) |
| document_id required | string (Document Id) |
Authorization (string) or Authorization (null) (Authorization) |
| success required | boolean (Success) |
| message required | string (Message) |
| document_id required | string (Document Id) |
| memory_units_deleted required | integer (Memory Units Deleted) |
{- "document_id": "session_1",
- "memory_units_deleted": 5,
- "message": "Document 'session_1' and 5 associated memory units deleted successfully",
- "success": true
}Get a specific chunk by its ID
| chunk_id required | string (Chunk Id) |
Authorization (string) or Authorization (null) (Authorization) |
| chunk_id required | string (Chunk Id) |
| document_id required | string (Document Id) |
| bank_id required | string (Bank Id) |
| chunk_index required | integer (Chunk Index) |
| chunk_text required | string (Chunk Text) |
| created_at required | string (Created At) |
{- "bank_id": "user123",
- "chunk_id": "user123_session_1_0",
- "chunk_index": 0,
- "chunk_text": "This is the first chunk of the document...",
- "created_at": "2024-01-15T10:30:00Z",
- "document_id": "session_1"
}Get a list of async operations for a specific agent, with optional filtering by status. Results are sorted by most recent first.
| bank_id required | string (Bank Id) |
Status (string) or Status (null) (Status) Filter by status: pending, completed, or failed | |
| limit | integer (Limit) [ 1 .. 100 ] Default: 20 Maximum number of operations to return |
| offset | integer (Offset) >= 0 Default: 0 Number of operations to skip |
Authorization (string) or Authorization (null) (Authorization) |
| bank_id required | string (Bank Id) |
| total required | integer (Total) |
| limit required | integer (Limit) |
| offset required | integer (Offset) |
required | Array of objects (Operations) |
{- "bank_id": "user123",
- "limit": 20,
- "offset": 0,
- "operations": [
- {
- "created_at": "2024-01-15T10:30:00Z",
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "status": "pending",
- "task_type": "retain"
}
], - "total": 150
}Get the status of a specific async operation. Returns 'pending', 'completed', or 'failed'. Completed operations are removed from storage, so 'completed' means the operation finished successfully.
| bank_id required | string (Bank Id) |
| operation_id required | string (Operation Id) |
Authorization (string) or Authorization (null) (Authorization) |
| operation_id required | string (Operation Id) |
| status required | string (Status) Enum: "pending" "completed" "failed" "not_found" |
Operation Type (string) or Operation Type (null) (Operation Type) | |
Created At (string) or Created At (null) (Created At) | |
Updated At (string) or Updated At (null) (Updated At) | |
Completed At (string) or Completed At (null) (Completed At) | |
Error Message (string) or Error Message (null) (Error Message) |
{- "completed_at": "2024-01-15T10:31:30Z",
- "created_at": "2024-01-15T10:30:00Z",
- "operation_id": "550e8400-e29b-41d4-a716-446655440000",
- "operation_type": "refresh_mental_models",
- "status": "completed",
- "updated_at": "2024-01-15T10:31:30Z"
}Cancel a pending async operation by removing it from the queue
| bank_id required | string (Bank Id) |
| operation_id required | string (Operation Id) |
Authorization (string) or Authorization (null) (Authorization) |
| success required | boolean (Success) |
| message required | string (Message) |
| operation_id required | string (Operation Id) |
{- "message": "Operation 550e8400-e29b-41d4-a716-446655440000 cancelled",
- "operation_id": "550e8400-e29b-41d4-a716-446655440000",
- "success": true
}