List Learnings
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.
Scoped results include the caller's records and shared rows with no owner. A conflicting explicit user_id filter returns 403. Non-admin service-account PAT scoping applies even when JWT user isolation is disabled.
/learningsList learning records with pagination and optional filters. For a scoped (non-admin) caller with user isolation enabled, results are bound to that user and also include records with no owner (user_id IS NULL) — this covers global, agent, team, session, and entity-scoped learnings; passing a user_id that differs from the caller is rejected with 403. Admins and unscoped callers see all records (optionally filtered by user_id).
Authorization
HTTPBearer In: header
Query Parameters
Filter by learning type
Filter by user ID
Filter by agent ID
Filter by team ID
Filter by session ID
Filter by namespace
Filter by entity ID
Filter by entity type
Page size
1 <= value <= 10001001-indexed page number
1 <= value1Field to sort by, e.g. created_at or updated_at (the default). An unrecognised field is ignored (the default ordering is used).
Sort order (asc or desc)
"desc"Database ID to query
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'{ "data": [ { "learning_id": "string", "learning_type": "string", "namespace": "string", "user_id": "string", "agent_id": "string", "team_id": "string", "session_id": "string", "entity_id": "string", "entity_type": "string", "content": {}, "metadata": {}, "created_at": 0, "updated_at": 0 } ], "meta": { "page": 0, "limit": 20, "total_pages": 0, "total_count": 0, "search_time_ms": 0 }}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}