IngestResponse containing the JSON-encoded MemoryRecord that was written to the store.
JSON-encoded
MemoryRecord. Decode the bytes field to access the record’s id, type, sensitivity, salience, and payload.IngestEvent
Creates an episodic memory record from a raw event. Use this to capture user inputs, errors, agent actions, or any discrete occurrence that should be preserved for later consolidation.Request fields
Identifies the actor or system that produced the event (e.g.,
"build-agent").Categorises the event (e.g.,
"tool_call", "user_input", "error").Reference identifier for the source event, used in provenance tracking (e.g.,
"build#42").Human-readable summary stored in the episodic timeline. Maximum 100 000 characters.
RFC 3339 timestamp. Defaults to the server’s current UTC time when omitted.
Free-form labels for categorisation. Maximum 100 tags, each up to 256 characters.
Visibility scope (e.g.,
"project-acme", "user", "global").Sensitivity classification:
public, low, medium, high, or hyper. Defaults to the server’s configured default_sensitivity.Example
IngestToolOutput
Creates an episodic memory record that captures a tool invocation with its arguments and result. The tool data is stored in the episodic payload’stool_graph field alongside a timeline entry.
Request fields
Identifies the actor or system that invoked the tool.
Name of the tool that was called (e.g.,
"bash", "read_file").JSON-encoded
map[string]any of arguments passed to the tool. Maximum 10 MB.JSON-encoded value returned by the tool. Maximum 10 MB.
IDs of tool nodes this output depends on, used to build the tool dependency graph.
RFC 3339 timestamp. Defaults to the server’s current UTC time when omitted.
Free-form labels for categorisation.
Visibility scope.
Sensitivity classification:
public, low, medium, high, or hyper.Example
IngestObservation
Creates a semantic memory record from a subject-predicate-object triple. Use this to record stable facts and preferences that should persist and be retrievable across sessions.Request fields
Identifies the actor or system making the observation.
The entity the observation is about (e.g.,
"user", "project").The relationship or property observed (e.g.,
"prefers_language", "has_deadline").JSON-encoded value or related entity (e.g.,
"\"go\""). Maximum 10 MB.RFC 3339 timestamp. Defaults to the server’s current UTC time when omitted.
Free-form labels for categorisation.
Visibility scope.
Sensitivity classification:
public, low, medium, high, or hyper.Example
IngestOutcome
Updates an existing episodic record with an outcome status. The target record must be episodic — attempting to attach an outcome to a non-episodic record returnsFailedPrecondition.
The update appends a provenance source and an audit entry to the target record without changing its type or payload structure.
Request fields
Identifies the actor or system reporting the outcome.
ID of the existing episodic record to update.
Result of the experience:
success, failure, or partial.RFC 3339 timestamp. Defaults to the server’s current UTC time when omitted.
Example
IngestWorkingState
Creates a working memory record that captures in-flight task state. Working memory records enable task resumption across sessions or devices.Request fields
Identifies the actor or system that produced the working state.
Identifier for the current thread or session (e.g.,
"session-001").Current task state:
planning, executing, blocked, waiting, or done.Ordered list of planned next actions.
Unresolved questions blocking or affecting the task.
Human-readable summary of the current context. Maximum 100 000 characters.
JSON-encoded array of
Constraint objects currently active for the task. Maximum 10 MB.RFC 3339 timestamp. Defaults to the server’s current UTC time when omitted.
Free-form labels for categorisation.
Visibility scope.
Sensitivity classification:
public, low, medium, high, or hyper.