Skip to main content
Humm reads your Absorb courses, enrollments, users, and learning paths. Ask about completion rates, which learners are behind on training, or how enrollment is trending across groups.

Source Types

SaaS (Live)

Humm queries the Absorb API directly in real time. Data is never stored by Humm.

Sync

Humm syncs your Absorb data into your warehouse via Airbyte, then queries the copy. Better performance and lets you join LMS data with everything else in your warehouse.
See Choosing a Source Type for help deciding.

Tools

ToolDescription
ABSORB_LIST_COURSESList courses with pagination, filtering, and sorting
ABSORB_GET_COURSEGet detailed course information by ID
ABSORB_LIST_USER_ENROLLMENTSList a user’s course enrollments with status and progress
ABSORB_GET_USER_ENROLLMENTGet a user’s enrollment details for a specific course
ABSORB_LIST_COURSE_ENROLLMENTSList enrollments for a course, including progress, score, time spent, and date fields returned by Absorb
ABSORB_LIST_COURSE_EVALUATION_ANSWERSList evaluation answers for a course
ABSORB_LIST_COURSE_EVALUATION_QUESTIONSList evaluation questions for a course
ABSORB_LIST_USERSList learners with pagination and filtering
ABSORB_GET_USERGet detailed learner information by ID
ABSORB_LIST_GROUPSList organizational groups
ABSORB_GET_GROUPGet group details by ID
ABSORB_LIST_ILC_SESSIONSList sessions for an instructor-led course
ABSORB_LIST_ILC_SESSION_DETAILSList session details, including enrollment counts and limits, for one or more instructor-led courses
ABSORB_LIST_DEPARTMENTSList departments for mapping learner department IDs to department names
ABSORB_GET_DEPARTMENTGet a department by ID, including child departments referenced by learner records
ABSORB_LIST_USER_LEARNING_PATHSList a user’s assigned learning paths and curricula

Common Workflows

For course-level reporting, use ABSORB_LIST_COURSE_ENROLLMENTS instead of calling ABSORB_LIST_USER_ENROLLMENTS once per learner. Enrollment responses include the progress, score, time spent, and date fields that Absorb returns for the course. For evaluation reporting, use ABSORB_LIST_COURSE_EVALUATION_QUESTIONS to retrieve question metadata and ABSORB_LIST_COURSE_EVALUATION_ANSWERS to retrieve learner responses. Use the optional questionId parameter when you want answers for one question only, and join answers to questions with the questionId field. Absorb returns one evaluation-answer row per learner-question pair even when the learner did not answer. Unanswered rows come back with rating=0 and text=null, so filter to answered rows when you calculate averages or review free-text responses. For example, use _filter="rating gt 0" for rating questions or _filter="text ne null" for free-text questions. For instructor-led course reporting, use ABSORB_LIST_COURSES with a courseType filter to find instructor-led courses, then use ABSORB_LIST_ILC_SESSIONS and ABSORB_LIST_ILC_SESSION_DETAILS for session dates, class sizes, enrollment counts, and enrollment limits. Pass instructor-led course IDs in the courseIds body parameter to ABSORB_LIST_ILC_SESSION_DETAILS, not session IDs. The endpoint returns an empty list if you pass session IDs. For department or company grouping, use ABSORB_LIST_USERS to read each learner’s department identifier and ABSORB_GET_DEPARTMENT to resolve that department directly. Use ABSORB_LIST_DEPARTMENTS when you need to browse or filter the broader department list.

OData Filter Syntax

Absorb uses OData filter syntax for querying data. Most paginated list tools support the _filter parameter.

Supported Operators

  • Comparison: eq, ne, gt, ge, lt, le
  • Logical: and, or, not, ()
  • Functions: substringof, endswith, startswith, tolower, toupper

Filter Examples

# Users with last name starting with "Smith"
startsWith(lastname, 'Smith')

# Users added after a specific date
dateAdded ge datetime'2024-01-01T00:00:00Z'

# Combine multiple conditions
startsWith(lastname, 'Smith') or dateAdded ge datetime'2024-01-01T00:00:00Z'

# Search by email domain
substringof('@example.com', emailAddress)

# Filter by custom field
customFields/string1 eq 'Department A'

Pagination and Sorting

Most paginated list tools support pagination and sorting parameters:
ParameterDescription
_offsetRow offset. Use 0 for the first records, 100 for rows 100-199 when _limit=100, and 1000 for rows 1000-1099. Default: 0
_limitMaximum number of records to return. Default: 100, max: 1000
_sortSort field. Prefix with - for descending order
Enrollment list tools also support modifiedSince for incremental refreshes. Pass an ISO 8601 date-time, such as 2026-05-01T00:00:00Z, to return enrollments edited after that time. Most Absorb list tools auto-paginate within a single call. Set _offset manually only when you need records beyond the per-call cap.

Sorting Examples

# Sort by name ascending
_sort=name

# Sort by creation date descending
_sort=-dateCreated

# Multi-field sort
_sort=lastname,firstname

Authentication

Username + Password + API Key

Absorb uses custom authentication requiring three credentials:
  • Username: Your Absorb account username
  • Password: Your Absorb account password
  • Private API Key: Obtain from Absorb Portal Settings
All three credentials are required to authenticate API requests.