> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Articulate Reach 360

**Authentication:** API key. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow.

## Sample use cases

* List every published course in the `Onboarding` library and their completion rates.
* Find learners who haven't started the `Compliance 2026` course and email them a reminder.
* Pull the average score on the `Q1 Sales Training` quiz, broken down by team.

## Available Tools

#### list_courses

List all courses in Reach 360 with optional filtering by content type (rise, storyline, microlearning, imported). Supports pagination.

#### get_course

Get details of a specific course in Reach 360 by its ID including title, description, content type, and enrollment URLs.

#### enroll_user_in_course

Enroll a single user in a course in Reach 360. Optionally set a due date. Use list_courses and list_users to find IDs.

#### unenroll_user_from_course

Unenroll a user from a course in Reach 360. Use list_courses and list_users to find IDs.

#### enroll_group_in_course

Enroll a group in a course in Reach 360. Use 'everyone' as group_id to enroll all users. Optionally set a due date.

#### unenroll_group_from_course

Unenroll a group from a course in Reach 360. Use 'everyone' as group_id to unenroll all users.

#### import_course_completion

Import completion data for a course/user pair into Reach 360. Use to record historical completions with timestamps and optional score.

#### list_user_favorites

List a user's favorite courses and learning paths in Reach 360. Use list_users to find user IDs.

#### list_groups

List all groups in Reach 360 with optional filtering by name. Returns group details including member URLs.

#### get_group

Get details of a specific group in Reach 360 by its ID including name, description, and member URLs.

#### create_group

Create a new group in Reach 360 with a name and optional description.

#### update_group

Update an existing group in Reach 360. Can update name and/or description. Use list_groups to find group IDs.

#### delete_group

Delete a group from Reach 360 by its ID. Use list_groups to find group IDs.

#### list_group_members

List all members of a specific group in Reach 360. Returns user details for each member.

#### list_user_groups

List all groups that a specific user belongs to in Reach 360.

#### add_user_to_group

Add a user to a group in Reach 360. Use list_users and list_groups to find valid IDs.

#### remove_user_from_group

Remove a user from a group in Reach 360. Use list_group_members to find users in a group.

#### list_invitations

List all pending invitations in Reach 360. Returns invitation details including email, role, and expiration.

#### get_invitation

Get details of a specific pending invitation in Reach 360 by its ID.

#### create_invitation

Send an invitation to a user to join your Reach 360 team. Specify email, optional name, role, and groups to assign.

#### delete_invitation

Delete a pending invitation in Reach 360 by its ID. Use list_invitations to find invitation IDs.

#### list_learning_paths

List all learning paths in Reach 360. Returns learning path details including title, description, and course count.

#### get_learning_path

Get details of a specific learning path in Reach 360 by its ID including title, description, and courses URL.

#### list_learning_path_courses

List all courses in a specific learning path in Reach 360. Returns course details with position in the path.

#### enroll_user_in_learning_path

Enroll a user in a learning path in Reach 360. Optionally set a due date. Use list_learning_paths and list_users to find IDs.

#### unenroll_user_from_learning_path

Unenroll a user from a learning path in Reach 360. Use list_learning_paths and list_users to find IDs.

#### enroll_group_in_learning_path

Enroll a group in a learning path in Reach 360. Use 'everyone' as group_id to enroll all users. Optionally set a due date.

#### unenroll_group_from_learning_path

Unenroll a group from a learning path in Reach 360. Use 'everyone' as group_id to unenroll all users.

#### get_learner_report

Get learning report for a specific user in Reach 360. Returns course completion data including status, score, and duration.

#### get_course_report

Get learner completion report for a specific course in Reach 360. Returns completion status, scores, and duration for all enrolled learners.

#### get_group_courses_report

Get courses report for a specific group in Reach 360. Returns enrollment and completion statistics for each course.

#### get_learning_path_courses_report

Get courses report for a learning path in Reach 360. Returns enrollment and completion statistics for each course in the path.

#### get_learning_path_learners_report

Get learners report for a learning path in Reach 360. Returns completion status and due dates for all enrolled learners.

#### list_users

List all users in Reach 360 with optional filtering by email. Returns user details including role, groups URL, and learner report URL.

#### get_user

Get details of a specific user in Reach 360 by their ID including email, name, role, and associated URLs.

#### delete_user

Delete a user from Reach 360. Only learners without SSO or Articulate ID can be deleted. Use list_users to find valid user IDs.

#### list_webhooks

List all webhooks in Reach 360. Returns webhook details including target URL, subscribed events, and API version.

#### get_webhook

Get details of a specific webhook in Reach 360 by its ID including target URL and subscribed events.

#### create_webhook

Create a webhook in Reach 360 to receive notifications for events like course completion, user creation, or enrollments.

#### delete_webhook

Delete a webhook from Reach 360 by its ID. Use list_webhooks to find webhook IDs.