List Memory

Updated at:

Paginated view of all memory nodes for a user

Lists memory nodes for a specified sub-user with pagination. You can filter the results by memory library and project.

Method and endpoint

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v2/apps/memory/memory_nodes

Replace {WorkspaceId} with your actual workspace ID.

Request parameters

ParameterTypeRequiredLocationDescription
user_idstringYesQuerySub-user ID used to isolate memories
memory_library_idstringNoQueryMemory library ID
project_idstringNoQueryProject ID
page_numintegerNoQueryPage number. Default: 1
page_sizeintegerNoQueryNumber of entries per page. Default: 10

Response

FieldTypeDescription
request_idstringRequest ID
memory_nodesarrayMemory nodes
memory_nodes[].memory_node_idstringMemory node ID
memory_nodes[].contentstringMemory content
memory_nodes[].timestampintegerMessage timestamp
memory_nodes[].created_atintegerCreation time
memory_nodes[].updated_atintegerUpdate time
memory_nodes[].media_descstringMultimodal content description
memory_nodes[].meta_dataobjectCustom metadata
memory_nodes[].project_idstringProject ID specified when the memory was added or updated. It may be empty
memory_nodes[].memory_typestringMemory node type
memory_nodes[].statusstringMemory node status
memory_nodes[].multimodal_mediasarrayMultimodal resources. Returned when present
page_numintegerCurrent page number
page_sizeintegerNumber of entries per page
totalintegerTotal number of memory nodes

Request example

curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v2/apps/memory/memory_nodes?user_id=user_001&memory_library_id=memory_library_001&project_id=project_001&page_size=10&page_num=1' \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY"
from agentscope_runtime.tools.modelstudio_memory import (
    ListMemory, ListMemoryInput,
)
import asyncio

async def main():
    list_memory = ListMemory()
    try:
        result = await list_memory.arun(ListMemoryInput(
            user_id="user_001",
            page_size=10,
            page_num=1
        ))
        for node in result.memory_nodes:
            print(f"Memory: {node.content}")
    finally:
        await list_memory.close()

asyncio.run(main())

Response example

{
  "request_id": "c04d36e2-8fe8-9aad-b7ae-be40d5852c35",
  "memory_nodes": [
    {
      "memory_node_id": "4fe7ea3b791a4453b5e1d117da6b7483",
      "content": "The user is traveling to Shanghai by car the day after tomorrow and needs to bring an ID card",
      "timestamp": 1781765684,
      "created_at": 1781765715,
      "updated_at": 1781765715,
      "media_desc": "",
      "meta_data": {},
      "project_id": "project_001",
      "memory_type": "observation",
      "status": "valid",
      "multimodal_medias": []
    }
  ],
  "page_num": 1,
  "page_size": 10,
  "total": 1
}

ImportantTo modify a memory, use Update Memory.