Learnifier integration
Learnifier is a learning platform (LMS) for building and running online courses. Manage users, organization units, user groups with their members and managers, create and update projects (course runs) from course templates, enroll, activate, re-enroll and track participants with their per-activity completion, score and progress, manage project team members, reserved slots and event details, assign Back Office and Client Portal roles, and issue user awards. Auto-login and participant login links, password changes, profile pictures, award PDF downloads, the update-by-external-id route and the restricted quiz routes are not exposed. Authentication is HTTP Basic with the API key as username and the API secret as password; instance is the domain name of your Learnifier instance.
Say what should happen.
The workflow builds itself.
What you can do with Learnifier
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
User, 8 operations
add_user_to_orgunitAdd user to orgunitPUTThis call adds a user to an organization. If the user is already part of the organization nothing is done.create_userCreate userPOSTCreates a user. Email addresses, usernames and external ids are unique. A user must have at least one of these identifiers. Email is saved WITH case but is handled case insensitive in the system.delete_userDelete userDELETEDelete a user. Only api callers that have full access can call this method.get_userGet userGETReturns information about a userlist_orgunit_usersList orgunit usersGETLists the users of an organization unit.list_usersList usersGETLists all users with their Client Portal and Back Office roles, paged with limit and offset. Requires an API caller with full admin access.remove_user_from_orgunitRemove user from orgunitDELETERemoves a user from an organization unit. It is refused when the user cannot be removed, for example an admin or a user enrolled in a course in that organization.update_userUpdate userPATCHUpdates a user. All values that have a key defined in the input will be set. So if a value should not be updated omit it totally from the input, otherwise it will be unset.
Role, 6 operations
assign_user_back_office_roleAssign user back office rolePUTAssigns given Back Office role to selected user.assign_user_client_roleAssign user client rolePUTAssigns given Client Portal role to selected user within the client.list_user_back_office_rolesList user back office rolesGETReturns a list of all Back Office roles assigned to given user.list_user_client_rolesList user client rolesGETReturns a list of all Client Portal roles assigned to given user within the client.revoke_user_back_office_roleRevoke user back office roleDELETERevokes given Back Office role from the selected user.revoke_user_client_roleRevoke user client roleDELETERevokes given Client Portal role from the selected user within the client.
Usergroup, 6 operations
create_usergroupCreate usergroupPOSTCreates a user group in an organization unit, optionally under a parent group and with your own external id. The name cannot be blank. Returns the new groupId.delete_usergroupDelete usergroupDELETEDeletes a user group. All members and managers will be removed from the group before deletion. Sub-groups will become top groups (parent will be set to none).get_usergroupGet usergroupGETGets the details about a user grouplist_orgunit_usergroupsList orgunit usergroupsGETList user groups in organization unitlist_user_usergroupsList user usergroupsGETReturns information about the groups that user is a member ofupdate_usergroupUpdate usergroupPATCHUpdate the details about a user group
Member, 5 operations
add_usergroup_memberAdd usergroup memberPOSTAdds a user to a user group. One of extid, userId, username or email must be specified. It is undefined which user identifier are used if multiple ones are specified.add_usergroup_member_by_external_idAdd usergroup member by external idPOSTAdd a member to a group by external idlist_global_usergroup_membersList global usergroup membersGETLists all users that belong to a global client user grouplist_usergroup_membersList usergroup membersGETLists users that are member of a user groupremove_usergroup_memberRemove usergroup memberDELETEDeletes a user membership from a user group. The user and group will still remain.
Project, 5 operations
create_projectCreate projectPOSTCreates a new project (a course run) in an organization unit, based on a course template (caapProductId from list_course_templates). name is required; title, description, locale, country and timezone are optional.delete_projectDelete projectDELETEDeletes the project. The project can only be deleted if the project do not contain any participants.get_projectGet projectGETReturns one project of an organization unit: name, status, participant-facing title and description, dates, format, location, locale, self-registration link and custom fields.list_projectsList projectsGETLists the projects for a organization unitupdate_projectUpdate projectPATCHUpdates a project. Values are only updated if the fields are specified in the input
Useraward, 5 operations
create_user_awardCreate user awardPOSTIssues an award to a user: awardId (from list_awards) and userId are required; issued and expiration dates, an external id and the originating project are optional. Returns the new user award id.delete_user_awardDelete user awardDELETEDeletes a user award, removing the award from the user it was issued to.get_user_awardGet user awardGETReturns one user award (an award issued to a user): award id, user id, project, issue and expiration dates, external id and who created or last updated it.list_user_awardsList user awardsGETList user awards matching optional query params. If multiple params are given, list those who match all of them.update_user_awardUpdate user awardPATCHUpdates a user award: its expiration, issue date, external id, originating project or awarded user. Returns the updated user award.
Manager, 4 operations
add_usergroup_managerAdd usergroup managerPOSTAdd a manager to a group. One of extid, userId, username or email must be specified. It is undefined which user identifier are used if multiple ones are specified.add_usergroup_manager_by_external_idAdd usergroup manager by external idPOSTAdd a manager to a group by external idlist_usergroup_managersList usergroup managersGETList the managers of a groupremove_usergroup_managerRemove usergroup managerDELETERemove a manager from a group
Orgunit, 4 operations
create_orgunitCreate orgunitPOSTCreate an organization unitget_orgunitGet orgunitGETGets a single organization unit. The response includes the display name, internal and external id and client number.list_orgunitsList orgunitsGETThe orgunits endpoint returns information about the available organization units (orgunits).update_orgunitUpdate orgunitPATCHUpdate an organization unit
Participant, 4 operations
delete_participantDelete participantDELETEDeletes a participant. The user itself will still remain but any state related to the project will be deleted. Due to constraints from products in the project it might not be possible to delete the participant.list_participant_assignmentsList participant assignmentsGETList project participant assignmentslist_participantsList participantsGETList project participantsupdate_participantUpdate participantPATCHUpdates a participant: its expiration, external id, completion status (completed, incomplete, notAttempted or unknown) and custom fields. Only the fields you send are changed.
Teammember, 3 operations
add_project_team_memberAdd project team memberPOSTAdd a user to the project teamlist_project_team_membersList project team membersGETLists the project team members. A team member is a user that are associated with a project and one or several project roles. A team member can also be a participant.remove_project_team_memberRemove project team memberDELETERemove a user from the project team. The user is determined by either `userId`, `externalId` or `email`. Only specified project `role` is revoked from the user.
Award, 2 operations
get_awardGet awardGETReturns one award prototype by its id: title, type, points awarded and its other settings, as used when issuing it with create_user_award.list_awardsList awardsGETLists the awards (the award prototypes that can be issued to users) with their id, title, type and points awarded. Filter by organization unit and page with limit and offset.
Event, 2 operations
get_project_eventsGet project eventsGETGet a project's events detailsupdate_project_eventsUpdate project eventsPATCHUpdates a project's event components (start, end, location and location URL; each entry names its component by cid) and publishes the changes unless publish is false. get_project_events_meta lists each component's fields and which are required.
Extparticipation, 2 operations
delete_participation_by_external_idDelete participation by external idDELETEDeletes a participant by external id.get_participation_by_external_idGet participation by external idGETGets a participation by external id
Org custom field, 2 operations
get_user_org_custom_fieldsGet user org custom fieldsGETThis call returns user all organization custom fields in form of a dictionary. The dictionary maps custom field names to their values.update_user_org_custom_fieldsUpdate user org custom fieldsPATCHUpdates a user's organization custom fields in an organization unit: each field named in orgCustomFields is created or replaced, one sent without a value is removed, others are left as they are. Names are 1 to 64 characters.
Reservation, 2 operations
create_reserved_slotCreate reserved slotPOSTCreates new reserved slot in a project. When project is full and waitlist is available new waitlist reserved slot is createddelete_reserved_slotDelete reserved slotDELETEDeletes a reserved slot from roster or waitlist
Activate, 1 operation
activate_participantActivate participantPOSTActivates a participant. After the activation the participant/participation can be accessed by a learner.
Backofficerole, 1 operation
list_back_office_rolesList back office rolesGETReturns a lists of all Back Office user roles available to use.
Clientrole, 1 operation
list_client_rolesList client rolesGETReturns a lists of all Client Portal user roles available to use.
Convert, 1 operation
convert_reserved_slotConvert reserved slotPUTConverts reserved slot to participation or waitlist participation
Coursetemplate, 1 operation
list_course_templatesList course templatesGETList the course templates available for an organization.
Create participant, 1 operation
create_participantCreate participantPOSTCreates a new project participant. Participant information is created for the specified user. In the body object, only one of either email, userid or username must be specified. The participant must be activated before it can be accessed by the user.
Delete at, 1 operation
set_user_deletion_dateSet user deletion datePUTMarks or unmarks the user for future permanent deletion/anonymization. User marked for deletion will not be able to log in.
Emailuser, 1 operation
get_user_by_emailGet user by emailGETFinds a user by email address and returns the user record (id, names, primary email, home organization, custom fields, SSO, lock and deletion state).
Events meta, 1 operation
get_project_events_metaGet project events metaGETThe metadata includes which fields are available for each event, together with details such as type and whether it is required or not
Extorgunit, 1 operation
get_orgunit_by_external_idGet orgunit by external idGETGets an organization unit with an external id
Extproject, 1 operation
get_project_by_external_idGet project by external idGETFinds a project by the external id you assigned in your own system and returns the project, including the numeric id and orgId other tools take.
Extuser, 1 operation
get_user_by_external_idGet user by external idGETFinds a user by the external id you assigned in your own system and returns the user record, including the Learnifier user id other tools take.
Extuseraward, 1 operation
get_user_award_by_external_idGet user award by external idGETFinds a user award by the external id you assigned and returns it: award id, user id, project, issue and expiration dates.
Extusergroup, 1 operation
get_usergroup_by_external_idGet usergroup by external idGETFinds a user group by the external id you assigned and returns its groupId, name, parent and child groups.
Globalusergroup, 1 operation
list_global_usergroupsList global usergroupsGETReturns a list of Global User Groups. Global User Groups are set up for the realm, and will generate groups that can be used on the client level.
Ping, 1 operation
pingPingGETChecks that the Learnifier API is reachable with these credentials: answers the word pong and the current server time.
Product, 1 operation
add_product_to_orgunitAdd product to orgunitPOSTAdds a back office product to an organizational unit. Requires full administrator permissions.
Project participation, 1 operation
list_user_participationsList user participationsGETReturns information about the projects the user is a participant in. Only the projects that the current token have access to will be listed.
Projectrole, 1 operation
list_project_rolesList project rolesGETGet the available project roles
Provider, 1 operation
list_sso_providersList sso providersGETLists the single sign-on providers configured for the instance, with their id (prefixed sso-) and name, to assign to users through the sso field.
Reenroll, 1 operation
reenroll_participantReenroll participantPOSTRe-enrolling a participant will remove the participant's previous progress and uploaded content in a course. When the participant completes the re-enrollment, any award attached to the course will be replaced and updated accordingly.
Usernameuser, 1 operation
get_user_by_usernameGet user by usernameGETFinds a user by username (case sensitive) and returns the user record (id, names, primary email, home organization, custom fields, SSO, lock and deletion state).
Use Learnifier from Claude Code, Cursor or Codex
Connect Learnifier in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Learnifier operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Learnifier
- Create your workspace
Sign up free. Nothing to install.
- Connect Learnifier once
Add your Learnifier connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Learnifier integration FAQ
What can you do with the Learnifier integration?
LiveContext exposes 82 operations on Learnifier, covering user, role, usergroup and member.
