Korely

Core memory operations

List memories

Page through the memories in the key's project, newest first. Filter by end user, by agent namespace, or both, omit them to list across every end user.

GET /v1/memories

This returns stored memories in the list shape, id, content, scope, and metadata, without the derived facts array. To read the typed facts for a scope, use Get facts.

Authentication

HTTP header, required: Authorization: Bearer kor_live_.... The key must carry the memories:read scope.

Query parameters

ParameterTypeRequiredDescription
user_idstringOptionalFilter to one end user. When omitted, lists across all end users.
agent_idstringOptionalFilter to one agent namespace.
run_idstringOptionalFilter to one run or session. Max 255 chars.
limitintegerOptionalPage size. Default 50, min 1, max 200.
offsetintegerOptionalPagination offset. Default 0, min 0.

Example request

Terminal window
curl -X GET "https://api.korely.ai/v1/memories?user_id=customer-giulia-4812&agent_id=onboarding-bot&limit=50&offset=0" \
-H "Authorization: Bearer kor_live_..."

Response

200 OK. A page of memories plus the total count of matches across all pages.

{
"memories": [
{
"id": "mem_8f2c1a",
"content": "Giulia prefers async standups and works in CET.",
"user_id": "customer-giulia-4812",
"agent_id": "onboarding-bot",
"run_id": null,
"metadata": {"source": "slack"},
"status": "ready",
"created_at": "2026-03-01T09:14:22+00:00",
"updated_at": null
}
],
"total": 1
}
FieldTypeDescription
memoriesarray<Memory>A page of Memory objects, newest first. Each has id (mem_ prefix), content, user_id (end user, nullable), agent_id (nullable), run_id (nullable), metadata (object), status (processing, ready or error: whether its typed facts are queryable yet), created_at and updated_at (ISO 8601, nullable; updated_at stays null until the memory is edited). No facts in the list shape.
totalintegerTotal matching memories across all pages, for paginating with offset.

Errors

StatusCodeCause
401invalid_keyMissing or invalid kor_live_ key, Invalid or missing API key: ..., then what is wrong.
403forbiddenKey lacks the memories:read scope, API key missing required scope(s): memories:read.
429quota_exceededMonthly query quota reached. Resets on the 1st of the month (UTC), or upgrade.
429rate_limit_exceededPer-key rate limit exceeded. Respect the Retry-After header and retry.
422invalid_requestlimit out of the 1..200 range, or offset below 0.

Notes

  • Defaults. limit=50, max 200, offset=0. Page by advancing offset until you have read total items.
  • Omit user_id to list across all end users. Add it to scope the page to a single end user; add agent_id to scope to one namespace.
  • List shape only. Items are Memory objects without the facts array, read typed facts with Get facts.
  • Counts as a read. Each call counts against your monthly query quota.

Related