API Reference The MindGraph Cloud API combines graph primitives, cognitive-layer endpoints, scoped-corpus synthesis, and managed autonomous agents.
Base URL: https://api.mindgraph.cloud. All authenticated endpoints require a Bearer token (API key or JWT) in the Authorization header.
All error responses return a JSON body with an error field and optionally a code field for programmatic handling.
Copy
// Error response format
{ "error" : "descriptive message" , "code" : "error_code" }
Status Meaning Example 400 Bad request — missing or invalid fields {"error": "label required for create", "code": "missing_field"} 401 Missing or invalid auth token {"error": "missing Authorization: Bearer <token> header"} 403 Valid token, insufficient permissions {"error": "API key expired"} 404 Resource not found {"error": "node abc123 not found"} 422 Validation error (e.g., unknown props fields) {"error": "unknown fields for Claim: foo", "code": "unknown_props_fields"} 500 Internal server error {"error": "internal error"}
List endpoints (GET /nodes, POST /retrieve with layer/recent) support pagination via limit and offset parameters.
Copy
// Query params (GET) or body fields (POST)
{ "limit" : 100, "offset" : 0 }
// Paginated response
{ "items" : [...], "has_more" : true }
GET /healthHealth check (unauthenticated)
POST /v1/auth/signupCreate a new account
POST /v1/auth/loginSign in, returns JWT + refresh token
POST /v1/auth/refreshRefresh an expired JWT
GET /v1/accountGet current user account
POST /v1/orgsCreate an organization
GET /v1/orgsList your organizations
GET /v1/orgs/{org_id}/membersList organization members
POST /v1/orgs/{org_id}/membersInvite a member
DELETE /v1/orgs/{org_id}/members/{user_id}Remove a member
POST /v1/api-keysCreate an API key
GET /v1/api-keysList API keys
DELETE /v1/api-keys/{id}Revoke an API key
GET /v1/usageGet usage stats
GET /v1/billing/plansList available plans
GET /v1/billing/subscriptionGet current subscription
POST /v1/billing/subscribeSubscribe to a plan
Standard graph operations — create, read, update, delete nodes and edges.
GET /statsGraph-wide statistics (counts by type, layer, etc.)
POST /nodeAdd a generic node with full NodeProps
GET /node/{uid}Get a node by UID
PATCH /node/{uid}Update node fields and/or props
DELETE /node/{uid}Tombstone cascade (node + connected edges)
GET /node/{uid}/historyFull version history for a node
GET /node/{uid}/history/{version}Node snapshot at a specific version
POST /node request/response Copy
// Request
{
"label" : "User prefers dark mode" , // required
"node_type" : "Preference" , // optional (inferred from props._type)
"summary" : "Dark mode preference" , // optional
"props" : { // optional - NodeProps (serde-tagged)
"_type" : "Preference" ,
"key" : "theme" ,
"value" : "dark"
},
"agent_id" : "my-agent" // optional (defaults to server default)
}
// Response (201 Created)
{
"uid" : "abc123" ,
"label" : "User prefers dark mode" ,
"summary" : "Dark mode preference" ,
"node_type" : "Preference" ,
"layer" : "memory" ,
"confidence" : 0.5,
"salience" : 0.5,
"props" : { "_type" : "Preference" , "key" : "theme" , "value" : "dark" },
"created_at" : 1709750400.0,
"updated_at" : 1709750400.0,
"tombstone_at" : null,
"version" : 1
}
POST /linkAdd a typed edge (simple, default props)
POST /edgeAdd an edge with full EdgeProps
PATCH /edge/{uid}Update edge weight and/or props
DELETE /edge/{uid}Tombstone a single edge
GET /edge/{uid}/historyFull version history for an edge
GET /edges?from_uid=&edge_type=Get edges from a node, optionally filtered by type
GET /edge/between?from_uid=&to_uid=&edge_type=Get edges between two specific nodes
POST /searchFull-text search across labels and summaries
GET /nodes?layer=&type=&agent=&limit=&offset=Filter and paginate nodes
POST /search request/response Copy
// Request
{
"query" : "dark mode" , // required - search text
"node_type" : "Preference" , // optional - filter by type
"layer" : "memory" , // optional - filter by layer
"limit" : 10 // optional (default 100)
}
// Response (array of SearchResult)
[
{
"uid" : "abc123" ,
"label" : "User prefers dark mode" ,
"summary" : "Dark mode preference" ,
"node_type" : "Preference" ,
"score" : 0.95
}
]
GET /chain/{uid}?max_depth=Reasoning chain traversal
GET /neighborhood/{uid}?depth=Neighborhood BFS traversal
GET /path?from=&to=&max_depth=Find shortest path between nodes
POST /subgraphExtract a subgraph from one or more starting nodes
GET /agent/{agent_id}/nodesGet all nodes created by an agent
POST /entities/mergeMerge two entities (retarget edges, tombstone duplicate)
POST /aliasAdd an alias for entity resolution
GET /aliases/{uid}Get all aliases for a node
GET /resolve?text=&limit=Exact + fuzzy alias resolution
GET /exportExport graph as a typed snapshot
POST /importImport a typed snapshot (additive merge)
POST /decayApply salience decay + optional auto-tombstone
POST /purgeHard-delete old tombstoned data
POST /embeddings/configureConfigure embedding model, dimensions, and distance metric
POST /embeddings/searchVector similarity search with a raw embedding vector
POST /embeddings/search-textVector similarity search from text (auto-embeds the query)
PUT /node/{uid}/embeddingSet or replace the embedding vector for a node
GET /node/{uid}/embeddingGet the embedding vector for a node
DELETE /node/{uid}/embeddingDelete the embedding vector for a node
POST /batchCreate multiple nodes and edges in a single atomic request
POST /nodes/batchFetch multiple nodes by UID in a single request
POST /nodes/deleteBatch delete nodes by UID list or agent ID
POST /edges/batchFetch all edges between a set of node UIDs
GET /goalsGet all active (non-tombstoned) goals
GET /decisionsGet all open decisions
GET /questionsGet all open questions
GET /claims/weakGet claims with low confidence
GET /contradictionsGet unresolved contradictions
GET /approvals/pendingGet pending approval requests
Cognitive endpoints are the primary way to interact with MindGraph . Each endpoint accepts an action field that selects the operation, and creates the right node type with proper edges and metadata automatically. Use these instead of the generic CRUD endpoints whenever possible — they ensure your data is correctly structured and connected.
For example, instead of creating a bare Claim node via POST /node, use POST /epistemic/argument to create a claim with evidence, warrant, and linking edges in a single call. This produces a richer, more useful knowledge graph.
Capture external information — sources, snippets, observations — and manage entity identity. The Reality layer includes first-class types for Person, Organization, Nation, Event, Place, and Concept, with Entity serving as a fallback for other named things (technologies, products, etc.).
POST /reality/captureCapture a source, snippet, or observation into the Reality layer
POST /reality/entityCreate, alias, resolve, fuzzy-resolve, merge, or relate entities
Build structured knowledge — claims with evidence, hypotheses, theories, concepts, patterns, and formal structures.
POST /epistemic/argumentConstruct a full argument: claim + evidence + warrant + linking edges
POST /epistemic/inquiryPropose hypotheses, theories, paradigms, anomalies, assumptions, or questions
POST /epistemic/structureDefine concepts, patterns, mechanisms, models, analogies, theorems, or equations
Track goals, projects, milestones, and structured decision-making.
POST /intent/commitmentCreate goals, projects, or milestones with parent/motivation edges
POST /intent/deliberationOpen decisions, add options/constraints, and resolve decisions
Model workflows, procedures, affordances, and risk assessments.
POST /action/procedureBuild flows with ordered steps, affordances, and control nodes
POST /action/riskAssess risks or retrieve existing risk assessments
Manage sessions, traces, journal entries, summaries, preferences, and memory policies.
POST /memory/sessionOpen/close sessions, record traces, and write journal entries
POST /memory/distillCreate a summary that distills multiple source nodes
POST /memory/configSet/get preferences and memory policies
Plan tasks, govern agent behavior, and track execution lifecycle. These are the cognitive-layer agent primitives (graph nodes for plans, policies, executions). For managed autonomous agents, see Agents and the /v1/agents/* section below.
POST /agent/planCreate tasks, plans, ordered steps; update status; query plans
POST /agent/governanceCreate policies, set safety budgets, request/resolve approvals
POST /agent/executionTrack execution lifecycle (start, complete, fail) and register agents
Retrieve, traverse, and evolve the graph.
POST /retrieveUnified retrieval: text/semantic/hybrid search, active goals, open questions, weak claims
POST /traverseGraph traversal: reasoning chain, neighborhood, shortest path, subgraph extraction
POST /evolveLifecycle: update fields, tombstone, restore, decay salience, view history, snapshot
Note: All cognitive layer endpoints accept an action field that determines the specific operation. See the Cognitive Endpoints page for the full list of actions, required fields, and request/response examples for each endpoint. Chunk-based document ingestion with automatic LLM extraction. Documents default to Reality + Epistemic (2 passes); single chunks to Reality + Epistemic + Memory (3 passes); session transcripts to Reality + Epistemic + Intent + Action + Memory (5 passes). Callers can override via the layers parameter. Requires OPENAI_API_KEY to be configured on the server.
POST /ingest/chunkSynchronous single-chunk ingestion with extraction
POST /ingest/documentAsync document ingestion — chunks, extracts, returns job ID
POST /ingest/sessionAsync session transcript ingestion (Reality + Epistemic + Intent + Action + Memory)
POST /retrieve/contextSemantic retrieval — returns articles, graph nodes with provenance, and edges
GET /jobsList all ingestion jobs
GET /jobs/{'{id}'}Poll job status for async ingestion
POST /jobs/{'{id}'}/cancelCancel a pending or running ingestion job
POST /ingest/resume/{'{doc_uid}'}Resume a stuck document ingestion
POST /ingest/cleanupClean up orphaned chunks with no parent document
DELETE /ingest/document/{'{uid}'}Delete a document and cascade-remove all its chunks and extracted nodes
POST /ingest/embed-allGenerate embeddings for all nodes that don't have one
POST /clearFull graph reset — cancels all jobs, deletes all data, reclaims disk space
Ingestion example Copy
# Ingest a single chunk (synchronous)
curl -X POST /ingest/chunk \
-H "Content-Type: application/json" \
-d '{
"content" : "Einstein developed general relativity in 1915..." ,
"layers" : [ "reality" , "epistemic" ]
}'
# Response:
# { "chunk_uid": "...", "nodes_created": 13, "edges_created": 23, ... }
# Ingest a full document (async — returns job ID)
curl -X POST /ingest/document \
-H "Content-Type: application/json" \
-d '{
"content" : "Chapter 1: ..." ,
"title" : "My Document" ,
"document_type" : "article"
}'
# Response: { "job_id": "...", "document_uid": "..." }
# Poll job status
curl /jobs/<job_id>
# Retrieve context with semantic search
curl -X POST /retrieve/context \
-H "Content-Type: application/json" \
-d '{ "query": "What did Einstein discover?", "node_limit": 10, "article_limit": 3 }'
Scoped-corpus synthesis: mine cross-document signals for a Project node and turn the top idea clusters into Article nodes. See the Projects guide for concepts and examples.
GET /synthesis/signals/{'{project_uid}'}Mine cross-document signals (entity bridges, claim hubs, theory gaps, concept clusters, analogies, dialectical pairs) — no LLM
POST /synthesis/run/{'{project_uid}'}Spawn a background synthesis job that generates Article nodes; returns job_id
Cloud-only endpoints for managing autonomous research agents (Pro plan and higher). These live under /v1/agents/* and are hosted by mindgraph-cloud, not the graph API. See the Agents guide for a full walkthrough.
POST /v1/agentsCreate an agent (Pro+ only)
GET /v1/agentsList agents
GET /v1/agents/{'{id}'}Get one agent
PATCH /v1/agents/{'{id}'}Update agent fields
POST /v1/agents/{'{id}'}/archiveArchive (soft-delete) an agent
GET /v1/agents/templatesList agent templates
GET /v1/agents/{'{id}'}/workActive sessions, pending decisions, upcoming schedules
GET /v1/agents/{'{id}'}/articlesWiki articles authored by this agent
POST /v1/agents/{'{id}'}/resolve-decisionApprove or reject a pending decision
POST /v1/agents/sessionsCreate a new session
GET /v1/agents/sessionsList sessions (filter by agent_id)
GET /v1/agents/sessions/{'{sid}'}Get one session
POST /v1/agents/sessions/{'{sid}'}/messageSend a message to an agent session
POST /v1/agents/sessions/{'{sid}'}/interruptInterrupt in-flight inference
POST /v1/agents/sessions/{'{sid}'}/archiveArchive a session
GET /v1/agents/sessions/{'{sid}'}/eventsList past events for a session
GET /v1/agents/sessions/{'{sid}'}/streamSubscribe to live events (Server-Sent Events)
GET /v1/agents/sessions/{'{sid}'}/pending-inputGet any pending input request from the agent
POST /v1/agents/sessions/{'{sid}'}/respondRespond to a pending input request
POST /v1/agents/schedulesCreate a cron-triggered schedule
GET /v1/agents/schedulesList schedules
PATCH /v1/agents/schedules/{'{id}'}Update a schedule
DELETE /v1/agents/schedules/{'{id}'}Delete a schedule
GET /v1/agents/activityOrg-wide agent activity feed
GET /v1/agents/activity/wsAgent activity WebSocket for live dashboards
Every node type has a typed props object. When using cognitive endpoints, pass these fields inside the props field of the request body. All fields are optional unless noted.
Source (8 fields) Field Type Description source_type string Type of source (webpage, book, api, etc.) uri string URL or identifier for the source title string Title of the source content_hash string? Hash of the content for deduplication fetched_at number? Unix timestamp when fetched mime_type string? MIME type of the content content_length number? Content length in bytes domain string? Domain of the source URL
Snippet (5 fields) Field Type Description content string The extracted text snippet_type string Type of snippet (quote, passage, etc.) source_location string? Location within the source char_offset_start number? Start character offset char_offset_end number? End character offset
Person (4 fields) Field Type Description full_name string Full name of the person description string? Description or role identifiers object? External identifiers (email, linkedin, etc.) attributes object? Key-value attributes
Organization (4 fields) Field Type Description org_type string? Type of organization (company, nonprofit, government, etc.) description string? Description of the organization identifiers object? External identifiers (website, ticker, etc.) attributes object? Key-value attributes
Nation (3 fields) Field Type Description description string? Description of the nation identifiers object? External identifiers (ISO code, etc.) attributes object? Key-value attributes (population, capital, etc.)
Event (3 fields) Field Type Description event_date string? ISO 8601 date or date range description string? Description of the event attributes object? Key-value attributes
Place (3 fields) Field Type Description description string? Description of the place identifiers object? External identifiers (coordinates, etc.) attributes object? Key-value attributes
Concept (3 fields) Field Type Description description string? Description of the concept domain string? Domain or field the concept belongs to attributes object? Key-value attributes
Entity (fallback) (5 fields) Field Type Description entity_type string Type of entity (technology, product, etc.) — use Person, Organization, Nation, Event, Place, or Concept for those categories instead canonical_name string Canonical name for resolution description string? Description of the entity identifiers object External identifiers (website, github, etc.) attributes object Key-value attributes
Observation (4 fields) Field Type Description observation_type string Type (empirical, behavioral, etc.) content string The observation text session_uid string? Session this observation was made in timestamp number? Unix timestamp of the observation
Document (17 fields) Field Type Description title string Document title document_type string Type (article, transcript, note, pdf) source_uri string? Source URL or path mime_type string? MIME type content_length number? Content length in bytes chunk_count number? Number of chunks produced processed_at number? Unix timestamp of processing completion processing_status string Status (pending, processing, completed, partial, failed) authors string[]? Document authors abstract_text string? Abstract or summary text doi string? Digital Object Identifier publication_date string? Publication date (ISO 8601) journal string? Journal or publication name keywords string[]? Keywords or tags citation_count number? Citation count arxiv_id string? arXiv identifier language string? Document language
Chunk (8 fields) Field Type Description content string The chunk text content chunk_type string Type (document, transcript) chunk_index number Index within parent document char_offset_start number? Start character offset in original char_offset_end number? End character offset in original token_count_estimate number? Estimated token count processing_status string Status (pending, processing, completed, failed) extraction_count number? Number of nodes extracted from this chunk
Claim (10 fields) Field Type Description content string The claim statement claim_type string? Type (factual, normative, causal, etc.) certainty_degree number? 0-1 certainty rating truth_status string? Status (accepted, disputed, etc.) scope string? Scope of the claim quantitative_value number? Numeric value if applicable unit string? Unit for the quantitative value uncertainty_range string? Range of uncertainty event_date string? ISO 8601 date or date range of the claimed event source string? Origin: "document", "session", "chunk", or null (user-created)
Evidence (9 fields) Field Type Description description string Description of the evidence evidence_type string? Type (empirical, statistical, anecdotal, etc.) quantitative_value number? Numeric value unit string? Unit for the value sample_size number? Sample size statistical_significance number? P-value or significance is_negative boolean Whether this is negative evidence (default false) original_expectation string? What was expected source_url string? URL of the evidence source
Warrant (5 fields) Field Type Description principle string The warrant principle warrant_type string? Type (logical, empirical, etc.) explicit_in_text boolean Whether stated explicitly (default false) strength number? 0-1 strength of the warrant domain_scope string? Domain where this warrant applies
Argument (5 fields) Field Type Description summary string Summary of the argument argument_type string? Type (deductive, inductive, etc.) strength number? 0-1 overall strength is_valid boolean? Whether logically valid is_sound boolean? Whether sound (valid + true premises)
Hypothesis (7 fields) Field Type Description statement string The hypothesis statement hypothesis_type string? Type (empirical, causal, etc.) status string? Status (proposed, testing, confirmed, refuted) testability_score number? 0-1 how testable novelty number? 0-1 novelty rating predicted_observations string[] List of predicted observations source string? Origin: "document", "session", "chunk", or null (user-created)
Theory (7 fields) Field Type Description name string Theory name description string Description domain string? Domain of the theory status string? Status (developing, established, etc.) explanatory_scope string? What it explains core_commitments string[] Core theoretical commitments predictive_successes string[] Successful predictions
Paradigm (7 fields) Field Type Description name string Paradigm name field string? Field of study status string? Status (emerging, dominant, declining) core_assumptions string[] Core assumptions exemplar_problems string[] Exemplar problems accepted_methods string[] Accepted methods tension_score number? 0-1 internal tension
Anomaly (6 fields) Field Type Description description string Description of the anomaly anomaly_type string? Type (empirical, theoretical, etc.) severity string? Severity (minor, major, critical) persistence string? Whether persistent or transient resolution_attempts number Count of resolution attempts (default 0) source string? Origin: "document", "session", "chunk", or null (user-created)
Method (7 fields) Field Type Description name string Method name description string Description method_type string? Type (experimental, analytical, etc.) domain string? Domain limitations string[] Known limitations validity_conditions string[] Conditions for validity parameters string[] Method parameters
Experiment (8 fields) Field Type Description name string? Experiment name description string Description design_type string? Design type (RCT, quasi, etc.) variables_manipulated string[] Independent variables variables_measured string[] Dependent variables controls string[] Control conditions sample_description string? Description of the sample date_conducted string? Date conducted
Concept (6 fields) Field Type Description name string Concept name domain string? Domain definition string? Definition definition_type string? Type (ostensive, operational, etc.) abstraction_level string? Abstraction level alternative_definitions string[] Alternative definitions
Assumption (5 fields) Field Type Description content string The assumption assumption_type string? Type (empirical, methodological, etc.) explicit_in_text boolean Whether stated explicitly (default false) justification string? Justification for the assumption vulnerability string? Vulnerability description
Question / OpenQuestion (8 fields) Field Type Description text string The question text question_type string? Type (empirical, conceptual, etc.) scope string? Scope status string? Status (open, answered, abandoned) importance number? 0-1 importance tractability number? 0-1 tractability blocking_factors string[] Factors blocking resolution source string? Origin: "document", "session", "chunk", or null (user-created)
Analogy (7 fields) Field Type Description description string Description of the analogy source_domain string? Source domain target_domain string? Target domain analogy_type string? Type (structural, functional, etc.) mapping_elements string[] Mapped elements strength number? 0-1 strength limitations string[] Limitations
Pattern (6 fields) Field Type Description name string Pattern name description string Description pattern_type string? Type (structural, behavioral, etc.) domains_observed string[] Domains where observed instance_count number? Number of instances observed generality string? Generality level
Mechanism (7 fields) Field Type Description name string Mechanism name description string Description components string[] Components interactions string[] Interactions between components input string? Input output string? Output level string? Level (molecular, cellular, etc.)
Model (7 fields) Field Type Description name string Model name description string Description model_type string? Type (mathematical, computational, etc.) target_system string? System being modeled key_parameters string[] Key parameters simplifications string[] Simplifications made validation_status string? Validation status
ModelEvaluation (5 fields) Field Type Description evaluation_type string? Type of evaluation metrics string[] Metrics used failure_domains string[] Domains where model fails comparison_to string[] Models compared against evaluation_date string? Date of evaluation
InferenceChain (6 fields) Field Type Description description string Description of the chain chain_length number? Number of steps compound_confidence number? Compound confidence propagation_method string? How confidence propagates weakest_link string? Weakest link in the chain critical_assumptions string[] Critical assumptions
SensitivityAnalysis (6 fields) Field Type Description analysis_type string? Type of analysis target_claim_uid string? Claim being analyzed sensitivity_map string[] Sensitivity mappings robustness_score number? 0-1 robustness critical_inputs string[] Critical inputs break_points string[] Break points
ReasoningStrategy (5 fields) Field Type Description name string Strategy name description string Description strategy_type string? Type (abductive, analogical, etc.) applicable_contexts string[] Where this strategy applies limitations string[] Limitations
Theorem (7 fields) Field Type Description name string? Theorem name statement string Theorem statement proof_status string? Proof status theorem_type string? Type proof_technique string? Proof technique used significance string? Significance applications string[] Applications
Equation (8 fields) Field Type Description name string? Equation name expression string The equation expression description string? Description equation_type string? Type (algebraic, differential, etc.) variables string[] Variables parameters string[] Parameters domain string? Domain assumptions string[] Assumptions
Goal (8 fields) Field Type Description description string Goal description goal_type string? Type (product_launch, research, etc.) status string? Status (active, completed, abandoned) priority string? Priority (low, medium, high, critical) deadline number? Unix timestamp deadline success_criteria string[] Success criteria progress number 0-1 progress (default 0) source string? Origin: "document", "session", "chunk", or null (user-created)
Project (6 fields) Field Type Description name string Project name description string Description status string? Status started_at number? Unix timestamp start target_completion number? Unix timestamp target source string? Origin: "document", "session", "chunk", or null (user-created)
Decision (7 fields) Field Type Description question string The decision question status string? Status (open, decided, revisited) decided_option_uid string? UID of the chosen option decided_at number? Unix timestamp when decided decision_rationale string? Rationale for the decision reversibility string? How reversible (easily, with_effort, irreversible) source string? Origin: "document", "session", "chunk", or null (user-created)
Option (6 fields) Field Type Description description string Option description pros string[] Pros cons string[] Cons estimated_effort string? Effort estimate estimated_risk string? Risk estimate score number? Evaluation score
Constraint (5 fields) Field Type Description description string Constraint description constraint_type string? Type (budget, time, technical, etc.) hard boolean Whether hard or soft (default false) value string? Constraint value unit string? Unit
Milestone (6 fields) Field Type Description description string Milestone description status string? Status (pending, reached, missed) target_date number? Target date (Unix timestamp) reached_at number? When reached (Unix timestamp) criteria string[] Completion criteria source string? Origin: "document", "session", "chunk", or null (user-created)
Affordance (10 fields) Field Type Description action_name string Action name description string Description affordance_type string? Type (api_call, ui_action, etc.) source_uid string? Source of the affordance selector string? CSS/XPath selector parameters string[] Parameters preconditions string[] Required preconditions postconditions string[] Expected postconditions risk_level string? Risk level reversible boolean Whether reversible (default false)
Flow (6 fields) Field Type Description name string Flow name description string Description flow_type string? Type step_count number? Number of steps estimated_duration_seconds number? Estimated duration overall_risk string? Overall risk level
FlowStep (6 fields) Field Type Description order number Step order (required) description string Step description affordance_uid string? Linked affordance is_optional boolean Whether optional (default false) is_checkpoint boolean Whether a checkpoint (default false) fallback_description string? Fallback if step fails
Control (6 fields) Field Type Description control_type string Type of control (button, input, etc.) label string? UI label selector string? CSS/XPath selector source_uid string? Source page/app state string? Current state value string? Current value
RiskAssessment (6 fields) Field Type Description target_uid string? Node being assessed risk_type string? Type of risk severity string? Severity (low, medium, high, critical) likelihood number? 0-1 likelihood mitigation string? Mitigation strategy requires_approval boolean Whether requires approval (default false)
Session (5 fields) Field Type Description started_at number Unix timestamp (auto-set on open) ended_at number? Unix timestamp (set on close) session_type string? Type of session focus_summary string? What the session is about active_goal_uids string[] Goals active during session
Trace (6 fields) Field Type Description session_uid string? Parent session trace_type string? Type (research, execution, debug, etc.) entry_count number Number of entries (default 0) started_at number? Start timestamp ended_at number? End timestamp compressed boolean Whether compressed (default false)
Journal (4 fields) Field Type Description content string The journal entry text session_uid string? Parent session journal_type string? Type (note, decision, observation, etc.) tags string[] Tags for categorization
Summary (6 fields) Field Type Description content string The summary text summary_type string? Type (session_distillation, topic, etc.) source_node_uids string[] Nodes being summarized compression_ratio number? Compression ratio generated_by string? Agent or model that generated it generated_at number? When generated
Preference (6 fields) Field Type Description key string Preference key value string Preference value preference_type string? Type (user, system, learned) learned boolean Whether learned automatically (default false) explicit boolean Whether explicitly stated (default false) evidence_count number Supporting evidence count (default 0)
MemoryPolicy (5 fields) Field Type Description policy_type string? Type (retention, decay, archival) target_node_type string? Which node type this applies to condition string? Condition expression action string? Action to take active boolean Whether active (default false)
Agent (8 fields) Field Type Description name string Agent name agent_type string? Type (llm, tool, human, etc.) model_id string? Model identifier capabilities string[] Agent capabilities status string? Current status current_task_uid string? Current task autonomy_level string? Autonomy level domain_restrictions string[] Domain restrictions
Task (10 fields) Field Type Description description string Task description task_type string? Type status string? Status (pending, in_progress, done, failed) assigned_to string? Assigned agent created_by string? Creator priority string? Priority deadline number? Deadline (Unix timestamp) parent_goal_uid string? Parent goal depends_on_task_uids string[] Task dependencies result_summary string? Summary of result
Plan (8 fields) Field Type Description description string Plan description task_uid string? Parent task status string? Status step_count number? Number of steps estimated_risk string? Risk estimate proposed_at number? When proposed approved_at number? When approved approved_by string? Who approved
PlanStep (8 fields) Field Type Description order number Step order (required) description string Step description plan_uid string? Parent plan status string? Status target_affordance_uid string? Linked affordance expected_outcome string? Expected outcome actual_outcome string? Actual outcome requires_approval boolean Whether requires approval (default false)
Approval (8 fields) Field Type Description target_uid string? Node being approved target_type string? Type of target status string? Status (pending, approved, denied) requested_at number? When requested decided_at number? When decided decided_by string? Who decided reason string? Reason for decision conditions string? Conditions attached
Policy (7 fields) Field Type Description name string Policy name description string Description policy_type string? Type (safety, governance, resource) rules string[] Policy rules applies_to string? What this applies to active boolean Whether active (default false) priority number Priority (default 0)
Execution (13 fields) Field Type Description description string Execution description agent_uid string? Executing agent plan_step_uid string? Plan step being executed affordance_uid string? Affordance being used status string? Status (running, completed, failed) started_at number? Start timestamp completed_at number? Completion timestamp input_snapshot object Input state snapshot output_snapshot object Output state snapshot error string? Error description if failed side_effects string[] Side effects observed reversible boolean Whether reversible (default false) rollback_execution_uid string? Execution that rolls this back
SafetyBudget (7 fields) Field Type Description scope string? Budget scope scope_uid string? Scoped node UID budget_type string? Type (token, api_call, cost, etc.) limit number Budget limit consumed number Amount consumed remaining number Amount remaining on_exhaustion string? What happens when exhausted