> This page is for Agent Handler.

> 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.