canonical: https://jentic.com/apis/iqualify.com/iqualify

# iQualify Management API

iQualify is a cloud learning platform whose Management API exposes 84 endpoints for managing learning offerings, learners, content, analytics, assessments, and integrations. The API surfaces detailed analytics for pulses, marks, learner progress, unit reactions, assignment and quiz submissions, social notes, and open-response activities, plus operations for enrolling learners, configuring offerings, and pulling reporting feeds. Authentication is via an Authorization header API key, with JSON request and response payloads.

## For AI agents

Manage learners, offerings, assessments, and analytics across an iQualify learning programme. Pull granular data on pulse responses, marks, learner progress, and submissions, or enrol and configure cohorts programmatically.

## Scope

Does not handle content authoring, video hosting, or proctoring - use for learner, offering, and analytics management within iQualify only.

## Capabilities

- Pull learner-level marks for assignments, quizzes, and open-response assessments in a specific offering
- Track learner progress through unit completion and offering analytics feeds
- Retrieve pulse-survey responses for sentiment and check-in dashboards
- List and inspect submissions to assignments and open-response activities, including grades
- Enrol, configure, and manage cohorts and individual learners across offerings
- Surface unit reactions and shared social notes for engagement analysis
- Drive reporting pipelines from a comprehensive set of analytics endpoints

## Use cases

### Cohort Performance Dashboards

Education teams build dashboards that show how learners in an iQualify offering are tracking against assignments and quizzes. The `/offerings/{offeringId}/analytics/marks/assignments` and `/marks/quizzes` endpoints return per-learner marks, while /learners-progress shows completion of units, giving programme managers a single view of cohort health.

Example prompt: Call GET `/offerings/{offeringId}/analytics/marks/quizzes` and /learners-progress for the offering and join the results into a cohort performance table.

### Sentiment and Pulse Reporting

Programme designers can pull pulse-survey responses from `/offerings/{offeringId}/analytics/pulses/responses` to detect dips in learner sentiment, then drill into individual pulse questions via `/pulses/{pulseId}/responses` to investigate themes. The data drives weekly report-outs and informs content adjustments mid-cohort.

Example prompt: Fetch GET `/offerings/{offeringId}/analytics/pulses` then iterate `/pulses/{pulseId}/responses` for any pulse with low average score and write findings to a weekly report.

### Submission Grading Workflows

Teaching teams pull pending and graded submissions from `/offerings/{offeringId}/analytics/submissions/assignments` and `/submissions/open-response/{assessmentId}` into an internal queue, route them to graders, and write back grades through the iQualify management endpoints. This avoids manual sweeps of the LMS UI for every cohort.

Example prompt: Call GET `/offerings/{offeringId}/analytics/submissions/assignments` and queue any submission without a mark for assignment to a grader.

### Engagement Insights from Social Notes

Analysts use `/offerings/{offeringId}/analytics/social-notes` and /unit-reactions to understand which units drive discussion or generate negative reactions, feeding course-design retros. Combined with progress data, this supports evidence-based decisions about which units to revise between cohorts.

Example prompt: Pull GET `/offerings/{offeringId}/analytics/social-notes` and /unit-reactions for the latest cohort and rank units by reaction volume to surface candidates for revision.

### Agent LMS Reporting via Jentic

An AI assistant supporting a programme manager can answer questions like 'how is cohort X doing this week?' by calling iQualify analytics endpoints through Jentic. The agent searches by intent, Jentic returns the matching operation, injects the Authorization header from the vault, and parses the analytics into a digest.

Example prompt: Use Jentic to search for 'list learner progress in an offering', load the GET `/offerings/{offeringId}/analytics/learners-progress` operation, and execute it with the cohort ID.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/offerings/{offeringId}/analytics/learners-progress` | List learner progress in an offering |
| GET | `/offerings/{offeringId}/analytics/pulses/responses` | Find pulse responses for an offering |
| GET | `/offerings/{offeringId}/analytics/marks/assignments` | Find assignment marks per learner |
| GET | `/offerings/{offeringId}/analytics/marks/quizzes` | Find quiz marks per learner |
| GET | `/offerings/{offeringId}/analytics/submissions/assignments` | Find submissions to assessments with marks |
| GET | `/offerings/{offeringId}/analytics/social-notes` | Find shared social notes in an offering |
| GET | `/offerings/{offeringId}/analytics/unit-reactions` | Find unit reactions in an offering |

## Key resources

- **Offerings Analytics** — Pulse responses, marks, learner progress, unit reactions, and submission feeds per offering
- **Marks** — Assignment, quiz, and open-response grading data per learner
- **Submissions** — List and inspect learner submissions, including grades and timestamps
- **Social Notes** — Shared learner notes and discussions inside an offering
- **Pulses** — Pulse surveys and per-pulse response sets for sentiment tracking

## Why Jentic

- **Setup:** Wiring iQualify by hand means provisioning an authorization key, sending it in the Authorization header to api.iqualify.com/v1, and threading the offeringId through dozens of learner, marks, and analytics endpoints. Through Jentic you install once, import iQualify Management from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** iQualify puts the offering id in the URL path (`/offerings/{offeringId}/...`), so a rule can pin your agent to one offering: it can read that offering's analytics, marks, and progress and nothing else. You choose the operations it may call, so it stays read-only unless you add write operations.
- **Credential handling:** Your iQualify Authorization key is stored once, encrypted, by your own Jentic One instance and injected into the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get quiz marks for a cohort', and Jentic returns the matching iQualify operation with its input schema, so the agent calls the right endpoint without scanning the full reference.

## Related APIs

- **Schoology API** — K-12 LMS API for courses, assignments, and grades.
- **Moodle API** — Open-source LMS API with deep customisation and self-hosted deployments.
- **Google API** — Workspace APIs for Drive, Sheets, and Calendar to stage iQualify reports.

## FAQ

### What authentication does the iQualify Management API use?

iQualify uses an Authorization header carrying the API key on every request. Through Jentic, the key is stored in the encrypted vault and injected at execution time, so the agent never sees the raw value.

### Can I pull learner progress for an offering through iQualify?

Yes. GET `/offerings/{offeringId}/analytics/learners-progress` returns each learner's completion state for the offering, with a complementary feed at /unit-reactions for engagement signals.

### How do I retrieve marks for a quiz or assignment?

Call GET `/offerings/{offeringId}/analytics/marks/quizzes` for quiz marks or `/marks/assignments` for assignment marks. Both return per-learner records with the grade and timestamp.

### Can I get submissions to open-response assessments?

Yes. GET `/offerings/{offeringId}/analytics/submissions/open-response/{assessmentId}` returns submissions for a specific open-response assessment, including marks where graded.

### What are the rate limits for the iQualify Management API?

iQualify does not publish per-minute rate limits in the spec; throughput is governed by your tenant's plan. Heavy reporting workloads should batch requests by offering and cache hierarchy lookups.

### How do I integrate iQualify analytics through Jentic?

Search Jentic for 'list learner progress in an iQualify offering', load the matching operation, and execute it with the offering ID. Jentic injects the Authorization header and returns the parsed analytics payload.

### Can I limit what my agent is allowed to do with the iQualify Management API?

Yes. Because you run Jentic One yourself, your own rules decide which iQualify operations and credentials the agent may use. Since iQualify puts the offering ID in the URL path, such as `/offerings/{offeringId}/analytics/learners-progress`, you can pin the agent to a single offering so it reads only that offering's analytics, marks, and progress and nothing else. You also choose the exact operations it may call, so it stays read-only on the analytics and marks endpoints unless you add write operations.
