Skip to main content
POST
Get Memory

Body

application/json

Request body for POST /api/v1/memory/get.

Callers identify the memory owner via user_id XOR agent_id — exactly one must be set. Internally the manager keeps using owner_id / owner_type (the storage tables' columns); those are exposed as derived properties so the rename only affects the wire contract.

memory_type
enum<string>
required

The four kinds enumerated by /get.

episode and profile are user-owned; agent_case and agent_skill are agent-owned. Cross-pairs are rejected by :meth:GetRequest._validate_owner_memory_type_pair.

Naming note: all four values use the bare kind name (no _memory suffix) and match the LanceDB table name + everalgo type name for that kind.

Available options:
episode,
profile,
agent_case,
agent_skill
user_id
string | null
Minimum string length: 1
agent_id
string | null
Minimum string length: 1
app_id
string
default:default
project_id
string
default:default
page
integer
default:1
Required range: x >= 1
page_size
integer
default:20
Required range: 1 <= x <= 100
sort_by
enum<string>
default:timestamp
Available options:
timestamp,
updated_at
sort_order
enum<string>
default:desc
Available options:
asc,
desc
filters
FilterNode · object | null

One Filters DSL node.

Recursive AND / OR arrays mix with arbitrary scalar fields at the same level. Pydantic only checks the combinators; field-level safety is enforced when compiling the node to a LanceDB where string in :mod:everos.memory.search.filters.

Response

Successful Response

Top-level response envelope.

request_id
string
required
data
GetData · object
required

Body of response.data.

All four arrays are always present so client code can iterate without branching on memory_type; the route populates exactly one.