List Learning Users

Storage and identity

Use a registered database with learning methods. Specify db_id when several databases are available; table also requires db_id. RemoteDb and adapters without learning support return 501.

Human JWT callers are scoped when user isolation is enabled. Non-admin service-account PAT callers always self-scope. Scoped readers can access their own and shared records; other-owned records return 404. Shared records cannot be modified or deleted by a scoped caller (403). Admins and unscoped callers retain access under the deployment's authentication and permission configuration.

Returned user fields

Each data item contains user_id and last_learning_updated_at. It does not include the per-user learning count promised in the generated description. Unowned records are excluded. Use List Learnings to inspect a user's records.

GET/learnings/users

List the users that own learning records, with a per-user count and last-updated timestamp. Intended as the entry point for a per-user view: list users here, then drill into a single user's learnings via GET /learnings?user_id=.... Records with no owner (user_id IS NULL) are excluded. Pass learning_type to restrict the grouping to a single store (e.g. user_profile or user_memory). For a scoped (non-admin) caller results are bound to that user; an explicit user_id that differs is rejected with 403. Admins and unscoped callers list all users. Sortable by user_id or last_learning_updated_at (the default).

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

learning_type?|

Restrict the grouping to a single learning type

user_id?|

Restrict the result to a single user

limit?Limit

Page size

Range1 <= value <= 1000
Default20
page?Page

1-indexed page number

Range1 <= value
Default1
sort_by?|

Field to sort by: user_id or last_learning_updated_at (the default)

sort_order?|

Sort order (asc or desc)

Default"desc"
db_id?|

Database ID to query

table?|

The database table to use (requires db_id)

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl --request GET 'https://example.com/learnings/users'
{  "data": [    {      "user_id": "string",      "last_learning_updated_at": 0    }  ],  "meta": {    "page": 0,    "limit": 20,    "total_pages": 0,    "total_count": 0,    "search_time_ms": 0  }}