Program Progress API

The Program Progress API provides enrollment and progress data for programs across your organization, including completion rates, learner hours, on-track status, and project completion.

Endpoint

POST https://api.udacity.com/api/public/api/v1/program-progress/graphql

Required scope

COMPANY:<companyId>

Your API token must have a COMPANY scope with your company ID as the scope key.

Overview

The Program Progress API returns per-enrollment records with rich progress data. You can filter, search, sort, and paginate through results.

DataDescription
Learner identityUser ID, email, first name, last name
EnrollmentStatus, enrolled/unenrolled/graduated/completed timestamps
ProgramProgram key, version, type (Nanodegree, Course, Part)
ProgressCompletion percentage, projects required vs. completed, learner hours, on-track status
ActivityLast active date, associated learning plan (if applicable)

Example

query {
  programProgress(input: {
    filter: { enrollmentStatus: [ENROLLED] }
    orderBy: LAST_ACTIVE
    order: DESC
    first: 10
  }) {
    totalCount
    pageInfo { hasNextPage endCursor }
    edges {
      node {
        userId
        userEmail
        programKey
        programType
        enrollmentStatus
        completionPercentage
        onTrackStatus
        lastActiveAt
      }
    }
  }
}

Next

  • Queries — Full query reference with all filters and sorting options
  • Types — All types, inputs, and enums