Create Learning
Create a new learning record. For the identity-keyed learning types (user_profile, user_memory, session_context, entity_memory) the record id is derived deterministically from the identity fields so it reconciles with what the agent reads/writes — provide those fields (else 422), and if a record already exists the request is rejected with 409 (use PATCH to update it). Other types get a generated id. For a scoped (non-admin) caller, the body’s user_id must be omitted/null or match the caller (mismatch → 403); admins and unscoped callers may set any user_id.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Database ID to use
The database table to use (requires db_id)
Body
Request body for creating a learning record.
Type of learning (e.g. 'user_profile', 'entity_memory')
The learning content payload
Namespace for scoping ('user', 'global', or custom)
Associated user ID. When the request is authenticated, must match the JWT subject or be omitted/null (which creates a global / non-user-scoped record).
Associated agent ID
Associated team ID
Associated session ID
Associated entity ID
Entity type
Optional metadata
Response
Learning created successfully
A single learning record as returned by the API.
Unique identifier for the learning record
Type of learning (e.g. 'user_profile', 'entity_memory')
Namespace for scoping ('user', 'global', or custom)
Associated user ID
Associated agent ID
Associated team ID
Associated session ID
Associated entity ID (for entity-specific learnings)
Entity type (e.g. 'person', 'company')
The learning content payload
Optional metadata
Creation timestamp (Unix epoch seconds)
Last update timestamp (Unix epoch seconds)